@nextcloud/vue 8.11.2 → 8.12.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 (789) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/Components/NcActionButton.cjs +68 -31
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +68 -35
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +2 -2
  7. package/dist/Components/NcActionButtonGroup.mjs +2 -2
  8. package/dist/Components/NcActionCaption.cjs +17 -14
  9. package/dist/Components/NcActionCaption.cjs.map +1 -1
  10. package/dist/Components/NcActionCaption.mjs +17 -15
  11. package/dist/Components/NcActionCaption.mjs.map +1 -1
  12. package/dist/Components/NcActionCheckbox.cjs +42 -24
  13. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  14. package/dist/Components/NcActionCheckbox.mjs +42 -27
  15. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  16. package/dist/Components/NcActionInput.cjs +2 -2
  17. package/dist/Components/NcActionInput.mjs +2 -2
  18. package/dist/Components/NcActionLink.cjs +29 -23
  19. package/dist/Components/NcActionLink.cjs.map +1 -1
  20. package/dist/Components/NcActionLink.mjs +29 -25
  21. package/dist/Components/NcActionLink.mjs.map +1 -1
  22. package/dist/Components/NcActionRadio.cjs +38 -25
  23. package/dist/Components/NcActionRadio.cjs.map +1 -1
  24. package/dist/Components/NcActionRadio.mjs +38 -28
  25. package/dist/Components/NcActionRadio.mjs.map +1 -1
  26. package/dist/Components/NcActionRouter.cjs +24 -20
  27. package/dist/Components/NcActionRouter.cjs.map +1 -1
  28. package/dist/Components/NcActionRouter.mjs +24 -22
  29. package/dist/Components/NcActionRouter.mjs.map +1 -1
  30. package/dist/Components/NcActionSeparator.cjs +15 -12
  31. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  32. package/dist/Components/NcActionSeparator.mjs +15 -13
  33. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  34. package/dist/Components/NcActionText.cjs +20 -16
  35. package/dist/Components/NcActionText.cjs.map +1 -1
  36. package/dist/Components/NcActionText.mjs +20 -18
  37. package/dist/Components/NcActionText.mjs.map +1 -1
  38. package/dist/Components/NcActionTextEditable.cjs +40 -29
  39. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  40. package/dist/Components/NcActionTextEditable.mjs +40 -33
  41. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  42. package/dist/Components/NcActions.cjs +2 -2
  43. package/dist/Components/NcActions.mjs +2 -2
  44. package/dist/Components/NcAppContent.cjs +2 -2
  45. package/dist/Components/NcAppContent.mjs +2 -2
  46. package/dist/Components/NcAppContentDetails.cjs +14 -11
  47. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  48. package/dist/Components/NcAppContentDetails.mjs +14 -12
  49. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  50. package/dist/Components/NcAppContentList.cjs +16 -13
  51. package/dist/Components/NcAppContentList.cjs.map +1 -1
  52. package/dist/Components/NcAppContentList.mjs +16 -14
  53. package/dist/Components/NcAppContentList.mjs.map +1 -1
  54. package/dist/Components/NcAppNavigation.cjs +2 -2
  55. package/dist/Components/NcAppNavigation.mjs +2 -2
  56. package/dist/Components/NcAppNavigationCaption.cjs +2 -2
  57. package/dist/Components/NcAppNavigationCaption.mjs +2 -2
  58. package/dist/Components/NcAppNavigationIconBullet.cjs +24 -18
  59. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  60. package/dist/Components/NcAppNavigationIconBullet.mjs +24 -19
  61. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  62. package/dist/Components/NcAppNavigationItem.cjs +2 -2
  63. package/dist/Components/NcAppNavigationItem.mjs +2 -2
  64. package/dist/Components/NcAppNavigationList.cjs +15 -12
  65. package/dist/Components/NcAppNavigationList.cjs.map +1 -1
  66. package/dist/Components/NcAppNavigationList.mjs +15 -13
  67. package/dist/Components/NcAppNavigationList.mjs.map +1 -1
  68. package/dist/Components/NcAppNavigationNew.cjs +27 -23
  69. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  70. package/dist/Components/NcAppNavigationNew.mjs +27 -25
  71. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  72. package/dist/Components/NcAppNavigationNewItem.cjs +2 -2
  73. package/dist/Components/NcAppNavigationNewItem.mjs +2 -2
  74. package/dist/Components/NcAppNavigationSettings.cjs +2 -2
  75. package/dist/Components/NcAppNavigationSettings.mjs +2 -2
  76. package/dist/Components/NcAppNavigationSpacer.cjs +15 -12
  77. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  78. package/dist/Components/NcAppNavigationSpacer.mjs +15 -13
  79. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  80. package/dist/Components/NcAppNavigationToggle.cjs +4 -4
  81. package/dist/Components/NcAppNavigationToggle.mjs +3 -3
  82. package/dist/Components/NcAppSettingsDialog.cjs +2 -2
  83. package/dist/Components/NcAppSettingsDialog.mjs +2 -2
  84. package/dist/Components/NcAppSettingsSection.cjs +29 -24
  85. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  86. package/dist/Components/NcAppSettingsSection.mjs +29 -25
  87. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  88. package/dist/Components/NcAppSidebar.cjs +2 -2
  89. package/dist/Components/NcAppSidebar.mjs +2 -2
  90. package/dist/Components/NcAppSidebarTab.cjs +24 -18
  91. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  92. package/dist/Components/NcAppSidebarTab.mjs +24 -19
  93. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  94. package/dist/Components/NcAvatar.cjs +2 -2
  95. package/dist/Components/NcAvatar.mjs +2 -2
  96. package/dist/Components/NcBreadcrumb.cjs +2 -2
  97. package/dist/Components/NcBreadcrumb.mjs +2 -2
  98. package/dist/Components/NcBreadcrumbs.cjs +2 -2
  99. package/dist/Components/NcBreadcrumbs.mjs +2 -2
  100. package/dist/Components/NcButton.cjs +80 -59
  101. package/dist/Components/NcButton.cjs.map +1 -1
  102. package/dist/Components/NcButton.mjs +80 -60
  103. package/dist/Components/NcButton.mjs.map +1 -1
  104. package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -2
  105. package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -2
  106. package/dist/Components/NcColorPicker.cjs +2 -2
  107. package/dist/Components/NcColorPicker.mjs +2 -2
  108. package/dist/Components/NcContent.cjs +2 -2
  109. package/dist/Components/NcContent.mjs +2 -2
  110. package/dist/Components/NcCounterBubble.cjs +18 -15
  111. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  112. package/dist/Components/NcCounterBubble.mjs +18 -16
  113. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  114. package/dist/Components/NcDashboardWidget.cjs +2 -2
  115. package/dist/Components/NcDashboardWidget.mjs +2 -2
  116. package/dist/Components/NcDashboardWidgetItem.cjs +2 -2
  117. package/dist/Components/NcDashboardWidgetItem.mjs +2 -2
  118. package/dist/Components/NcDateTime.cjs +2 -2
  119. package/dist/Components/NcDateTime.mjs +2 -2
  120. package/dist/Components/NcDateTimePicker.cjs +142 -101
  121. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  122. package/dist/Components/NcDateTimePicker.mjs +140 -108
  123. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  124. package/dist/Components/NcDateTimePickerNative.cjs +72 -52
  125. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  126. package/dist/Components/NcDateTimePickerNative.mjs +72 -54
  127. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  128. package/dist/Components/NcDialog.cjs +2 -2
  129. package/dist/Components/NcDialog.mjs +2 -2
  130. package/dist/Components/NcDialogButton.cjs +2 -2
  131. package/dist/Components/NcDialogButton.mjs +2 -2
  132. package/dist/Components/NcEllipsisedOption.cjs +35 -20
  133. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  134. package/dist/Components/NcEllipsisedOption.mjs +35 -22
  135. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  136. package/dist/Components/NcEmojiPicker.cjs +2 -2
  137. package/dist/Components/NcEmojiPicker.mjs +2 -2
  138. package/dist/Components/NcEmptyContent.cjs +22 -19
  139. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  140. package/dist/Components/NcEmptyContent.mjs +22 -20
  141. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  142. package/dist/Components/NcGuestContent.cjs +15 -12
  143. package/dist/Components/NcGuestContent.cjs.map +1 -1
  144. package/dist/Components/NcGuestContent.mjs +15 -13
  145. package/dist/Components/NcGuestContent.mjs.map +1 -1
  146. package/dist/Components/NcHeaderMenu.cjs +2 -2
  147. package/dist/Components/NcHeaderMenu.mjs +2 -2
  148. package/dist/Components/NcHighlight.cjs +2 -2
  149. package/dist/Components/NcHighlight.mjs +2 -2
  150. package/dist/Components/NcIconSvgWrapper.cjs +2 -2
  151. package/dist/Components/NcIconSvgWrapper.mjs +2 -2
  152. package/dist/Components/NcInputField.cjs +68 -52
  153. package/dist/Components/NcInputField.cjs.map +1 -1
  154. package/dist/Components/NcInputField.mjs +68 -57
  155. package/dist/Components/NcInputField.mjs.map +1 -1
  156. package/dist/Components/NcListItem.cjs +2 -2
  157. package/dist/Components/NcListItem.mjs +2 -2
  158. package/dist/Components/NcListItemIcon.cjs +2 -2
  159. package/dist/Components/NcListItemIcon.mjs +2 -2
  160. package/dist/Components/NcLoadingIcon.cjs +24 -16
  161. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  162. package/dist/Components/NcLoadingIcon.mjs +24 -17
  163. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  164. package/dist/Components/NcModal.cjs +257 -146
  165. package/dist/Components/NcModal.cjs.map +1 -1
  166. package/dist/Components/NcModal.mjs +257 -156
  167. package/dist/Components/NcModal.mjs.map +1 -1
  168. package/dist/Components/NcNoteCard.cjs +80 -65
  169. package/dist/Components/NcNoteCard.cjs.map +1 -1
  170. package/dist/Components/NcNoteCard.mjs +80 -66
  171. package/dist/Components/NcNoteCard.mjs.map +1 -1
  172. package/dist/Components/NcPasswordField.cjs +2 -2
  173. package/dist/Components/NcPasswordField.mjs +2 -2
  174. package/dist/Components/NcPopover.cjs +2 -2
  175. package/dist/Components/NcPopover.mjs +2 -2
  176. package/dist/Components/NcProgressBar.cjs +2 -2
  177. package/dist/Components/NcProgressBar.mjs +2 -2
  178. package/dist/Components/NcRelatedResourcesPanel.cjs +2 -2
  179. package/dist/Components/NcRelatedResourcesPanel.mjs +2 -2
  180. package/dist/Components/NcRichContenteditable.cjs +6 -5
  181. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  182. package/dist/Components/NcRichContenteditable.mjs +5 -5
  183. package/dist/Components/NcRichText.cjs +24 -22
  184. package/dist/Components/NcRichText.cjs.map +1 -1
  185. package/dist/Components/NcRichText.mjs +24 -24
  186. package/dist/Components/NcSavingIndicatorIcon.cjs +2 -2
  187. package/dist/Components/NcSavingIndicatorIcon.mjs +2 -2
  188. package/dist/Components/NcSelect.cjs +2 -2
  189. package/dist/Components/NcSelect.mjs +2 -2
  190. package/dist/Components/NcSelectTags.cjs +2 -2
  191. package/dist/Components/NcSelectTags.mjs +2 -2
  192. package/dist/Components/NcSettingsInputText.cjs +2 -2
  193. package/dist/Components/NcSettingsInputText.mjs +2 -2
  194. package/dist/Components/NcSettingsSection.cjs +2 -2
  195. package/dist/Components/NcSettingsSection.mjs +2 -2
  196. package/dist/Components/NcSettingsSelectGroup.cjs +4 -4
  197. package/dist/Components/NcSettingsSelectGroup.mjs +3 -3
  198. package/dist/Components/NcTextArea.cjs +51 -36
  199. package/dist/Components/NcTextArea.cjs.map +1 -1
  200. package/dist/Components/NcTextArea.mjs +51 -40
  201. package/dist/Components/NcTextArea.mjs.map +1 -1
  202. package/dist/Components/NcTextField.cjs +2 -2
  203. package/dist/Components/NcTextField.mjs +2 -2
  204. package/dist/Components/NcTimezonePicker.cjs +2 -2
  205. package/dist/Components/NcTimezonePicker.mjs +2 -2
  206. package/dist/Components/NcUserBubble.cjs +2 -2
  207. package/dist/Components/NcUserBubble.mjs +2 -2
  208. package/dist/Components/NcUserStatusIcon.cjs +2 -2
  209. package/dist/Components/NcUserStatusIcon.mjs +2 -2
  210. package/dist/Components/NcVNodes.cjs +15 -12
  211. package/dist/Components/NcVNodes.cjs.map +1 -1
  212. package/dist/Components/NcVNodes.mjs +15 -13
  213. package/dist/Components/NcVNodes.mjs.map +1 -1
  214. package/dist/Composables/useIsFullscreen.cjs +9 -8
  215. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  216. package/dist/Composables/useIsFullscreen.mjs +9 -8
  217. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  218. package/dist/Composables/useIsMobile.cjs +19 -14
  219. package/dist/Composables/useIsMobile.cjs.map +1 -1
  220. package/dist/Composables/useIsMobile.mjs +19 -14
  221. package/dist/Composables/useIsMobile.mjs.map +1 -1
  222. package/dist/Directives/Focus.cjs +6 -6
  223. package/dist/Directives/Focus.cjs.map +1 -1
  224. package/dist/Directives/Focus.mjs +5 -5
  225. package/dist/Directives/Focus.mjs.map +1 -1
  226. package/dist/Directives/Linkify.cjs +9 -6
  227. package/dist/Directives/Linkify.cjs.map +1 -1
  228. package/dist/Directives/Linkify.mjs +8 -6
  229. package/dist/Directives/Linkify.mjs.map +1 -1
  230. package/dist/Directives/Tooltip.cjs +11 -11
  231. package/dist/Directives/Tooltip.cjs.map +1 -1
  232. package/dist/Directives/Tooltip.mjs +9 -9
  233. package/dist/Directives/Tooltip.mjs.map +1 -1
  234. package/dist/Functions/a11y.cjs +33 -0
  235. package/dist/Functions/a11y.cjs.map +1 -0
  236. package/dist/Functions/a11y.mjs +33 -0
  237. package/dist/Functions/a11y.mjs.map +1 -0
  238. package/dist/Functions/emoji.cjs +8 -0
  239. package/dist/Functions/emoji.cjs.map +1 -0
  240. package/dist/Functions/emoji.mjs +8 -0
  241. package/dist/Functions/emoji.mjs.map +1 -0
  242. package/dist/Functions/reference.cjs +16 -15
  243. package/dist/Functions/reference.cjs.map +1 -1
  244. package/dist/Functions/reference.mjs +16 -16
  245. package/dist/Functions/registerReference.cjs +11 -11
  246. package/dist/Functions/registerReference.mjs +10 -10
  247. package/dist/Functions/usernameToColor.cjs +2 -2
  248. package/dist/Functions/usernameToColor.mjs +2 -2
  249. package/dist/Mixins/clickOutsideOptions.cjs +4 -3
  250. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  251. package/dist/Mixins/clickOutsideOptions.mjs +4 -3
  252. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  253. package/dist/Mixins/isFullscreen.cjs +4 -4
  254. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  255. package/dist/Mixins/isFullscreen.mjs +4 -4
  256. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  257. package/dist/Mixins/isMobile.cjs +4 -4
  258. package/dist/Mixins/isMobile.cjs.map +1 -1
  259. package/dist/Mixins/isMobile.mjs +4 -4
  260. package/dist/Mixins/isMobile.mjs.map +1 -1
  261. package/dist/Mixins/richEditor.cjs +6 -6
  262. package/dist/Mixins/richEditor.mjs +5 -5
  263. package/dist/assets/{NcActionButton-Cs5kVVAD.css → NcActionButton-D08gPtwM.css} +27 -22
  264. package/dist/assets/{NcActionButtonGroup-ChehtUip.css → NcActionButtonGroup-CvloX35s.css} +5 -4
  265. package/dist/assets/{NcActionCaption-Bp8mrIk7.css → NcActionCaption-sfcjBZnu.css} +4 -2
  266. package/dist/assets/{NcActionCheckbox-Do--WvUT.css → NcActionCheckbox-DTlI7y7p.css} +13 -9
  267. package/dist/assets/{NcActionInput-8F2WF3yH.css → NcActionInput-B8l22cnm.css} +44 -16
  268. package/dist/assets/{NcActionLink-DN3NCDC0.css → NcActionLink-ufhOZDI9.css} +19 -16
  269. package/dist/assets/{NcActionRadio-B46v1Kn4.css → NcActionRadio-syUIsm9B.css} +13 -9
  270. package/dist/assets/{NcActionRouter-wVMPq1gi.css → NcActionRouter-BbTCI4sn.css} +12 -10
  271. package/dist/assets/{NcActionSeparator-CX3zFZuI.css → NcActionSeparator-CB59y4di.css} +4 -1
  272. package/dist/assets/{NcActionText-YljCzD9Q.css → NcActionText-Ceh88fy8.css} +12 -10
  273. package/dist/assets/{NcActionTextEditable-mti5YQN1.css → NcActionTextEditable-BoxziChR.css} +52 -24
  274. package/dist/assets/{NcActions-CiiQkX9v.css → NcActions-N_Y6Nzew.css} +40 -13
  275. package/dist/assets/{NcAppContent-aWiDWWeq.css → NcAppContent-C08OMmgh.css} +42 -17
  276. package/dist/assets/{NcAppNavigation-wkQJnaLW.css → NcAppNavigation-DlFgsfe2.css} +44 -11
  277. package/dist/assets/{NcAppNavigationCaption-jV1y8HQ1.css → NcAppNavigationCaption-DnApJ5OW.css} +13 -9
  278. package/dist/assets/{NcAppNavigationIconBullet-1_cBEwu8.css → NcAppNavigationIconBullet-B8q3pUL5.css} +5 -2
  279. package/dist/assets/{NcAppNavigationItem-hYyNqvah.css → NcAppNavigationItem-OJEHVyVk.css} +70 -48
  280. package/dist/assets/{NcAppNavigationList-CUnaMQQD.css → NcAppNavigationList-DnIxrbVX.css} +4 -1
  281. package/dist/assets/{NcAppNavigationNew-COjJ3vwU.css → NcAppNavigationNew-BPZ1O8Xm.css} +6 -1
  282. package/dist/assets/{NcAppNavigationNewItem-C574fgtB.css → NcAppNavigationNewItem-DF3nldsK.css} +26 -28
  283. package/dist/assets/{NcAppNavigationSettings-nH_pGlKc.css → NcAppNavigationSettings-BCkvRAy8.css} +11 -6
  284. package/dist/assets/{NcAppNavigationSpacer-C5p-33VT.css → NcAppNavigationSpacer-Cb4q1zb5.css} +4 -2
  285. package/dist/assets/{NcAppNavigationToggle-De8wq0JA.css → NcAppNavigationToggle-0yhQ9xse.css} +4 -1
  286. package/dist/assets/{NcAppSettingsDialog-DR46jcRG.css → NcAppSettingsDialog-CajWZJNV.css} +7 -5
  287. package/dist/assets/{NcAppSettingsSection-BqF92GLH.css → NcAppSettingsSection-BDvzWKkd.css} +5 -2
  288. package/dist/assets/{NcAppSidebar-DlVjDHcd.css → NcAppSidebar-DixS4RLm.css} +149 -53
  289. package/dist/assets/{NcAppSidebarTab-XLBsrGqg.css → NcAppSidebarTab-CBFET-hQ.css} +5 -2
  290. package/dist/assets/{NcAvatar-BozWHt1s.css → NcAvatar-C2EFGp-3.css} +30 -31
  291. package/dist/assets/{NcBreadcrumb-eyloXKCC.css → NcBreadcrumb-AES5eSWo.css} +8 -6
  292. package/dist/assets/{NcBreadcrumbs-E-TglkuV.css → NcBreadcrumbs-tYrp1DVs.css} +5 -3
  293. package/dist/assets/{NcButton-DhaPcomf.css → NcButton-DZS360ia.css} +56 -56
  294. package/dist/assets/{NcCheckboxRadioSwitch-CaAqi0Jt.css → NcCheckboxRadioSwitch-DArK1Q95.css} +76 -53
  295. package/dist/assets/{NcColorPicker-CNboc7FY.css → NcColorPicker-CzKZjMxY.css} +38 -33
  296. package/dist/assets/{NcContent-tZHbeX2L.css → NcContent-Cuv2HvFH.css} +29 -3
  297. package/dist/assets/{NcCounterBubble-CuCSao3j.css → NcCounterBubble-CWi_P1Tb.css} +6 -3
  298. package/dist/assets/{NcDashboardWidget-DTV15Fb1.css → NcDashboardWidget-CGOA8X60.css} +7 -3
  299. package/dist/assets/{NcDashboardWidgetItem-4v77FH89.css → NcDashboardWidgetItem-BevETFRF.css} +18 -3
  300. package/dist/assets/{NcDateTimePicker-q_BLnhHU.css → NcDateTimePicker-3FfsWOh0.css} +144 -163
  301. package/dist/assets/{NcDateTimePickerNative-DnLJu29_.css → NcDateTimePickerNative-CV_VuzvQ.css} +7 -4
  302. package/dist/assets/{NcDialog-DEKSpcnR.css → NcDialog-DFMxsFp5.css} +53 -20
  303. package/dist/assets/{NcEllipsisedOption-B6gjXSS9.css → NcEllipsisedOption-ClDzkIX6.css} +7 -6
  304. package/dist/assets/{NcEmojiPicker-B-4WNYcx.css → NcEmojiPicker-XL3oUsqE.css} +79 -50
  305. package/dist/assets/{NcEmptyContent-ClLPsXo5.css → NcEmptyContent-BY1-Gge4.css} +16 -12
  306. package/dist/assets/{NcGuestContent-CYYZPMjb.css → NcGuestContent-CeRLfUEi.css} +28 -1
  307. package/dist/assets/{NcHeaderMenu-BKufmJd0.css → NcHeaderMenu-N5y8yFGd.css} +7 -7
  308. package/dist/assets/{NcIconSvgWrapper-oui2KPBT.css → NcIconSvgWrapper-DF9sBD2g.css} +12 -9
  309. package/dist/assets/{NcInputConfirmCancel-CSzzPx0i.css → NcInputConfirmCancel-UcHrm0al.css} +7 -5
  310. package/dist/assets/{NcInputField-vYuV3-IY.css → NcInputField-CXoTqF9T.css} +16 -33
  311. package/dist/assets/{NcListItem-BIFTbr17.css → NcListItem-DMYcn1cc.css} +11 -21
  312. package/dist/assets/{NcListItemIcon-9Dazpmpd.css → NcListItemIcon-CuPMgXoB.css} +17 -19
  313. package/dist/assets/{NcLoadingIcon-CFmftMkz.css → NcLoadingIcon-gxK0ujO0.css} +5 -2
  314. package/dist/assets/{NcMentionBubble-7PQ8wEko.css → NcMentionBubble-DmzU72Mw.css} +5 -2
  315. package/dist/assets/{NcModal-CwgrmxSg.css → NcModal-Cof88czY.css} +42 -38
  316. package/dist/assets/{NcNoteCard-B_Q1mnCM.css → NcNoteCard-e7-Bxio8.css} +10 -6
  317. package/dist/assets/{NcPopover-wrgZy49g.css → NcPopover-BwI1hPzy.css} +4 -1
  318. package/dist/assets/{NcProgressBar-DDj4bmBB.css → NcProgressBar-D5VftcJm.css} +4 -1
  319. package/dist/assets/{NcRelatedResourcesPanel-D6K7OQFJ.css → NcRelatedResourcesPanel-BrXxbjgR.css} +60 -8
  320. package/dist/assets/{NcRichContenteditable-BQ2-fqnd.css → NcRichContenteditable-C-eZyVQM.css} +60 -22
  321. package/dist/assets/NcRichText-Cdp_2wEm.css +240 -0
  322. package/dist/assets/{NcSelect-4aBmXHhA.css → NcSelect-Fmyu7qyl.css} +34 -13
  323. package/dist/assets/{NcSettingsInputText-w-LprdjK.css → NcSettingsInputText-CU65Coab.css} +4 -1
  324. package/dist/assets/{NcSettingsSection-8RabR54v.css → NcSettingsSection-TX28tYCG.css} +16 -14
  325. package/dist/assets/{NcSettingsSelectGroup-D8mlvzIT.css → NcSettingsSelectGroup-CPauLI-o.css} +4 -1
  326. package/dist/assets/{NcTextArea-DitXCroY.css → NcTextArea-XCi8a16Y.css} +13 -28
  327. package/dist/assets/{NcUserBubble-COPMjmKa.css → NcUserBubble-D5ieZC-f.css} +7 -4
  328. package/dist/assets/{NcUserStatusIcon-Dra7jf_o.css → NcUserStatusIcon-BcLArDqV.css} +4 -1
  329. package/dist/assets/{Tooltip-DA4si7PR.css → Tooltip-jHgt4m-W.css} +19 -3
  330. package/dist/assets/referencePickerModal-BaGbKZky.css +539 -0
  331. package/dist/chunks/AlertCircleOutline-BzttElgq.mjs +39 -0
  332. package/dist/chunks/{AlertCircleOutline-DHFN4OkX.cjs.map → AlertCircleOutline-BzttElgq.mjs.map} +1 -1
  333. package/dist/chunks/AlertCircleOutline-Cb0gAiDw.cjs +38 -0
  334. package/dist/chunks/{AlertCircleOutline-U_bhL30C.mjs.map → AlertCircleOutline-Cb0gAiDw.cjs.map} +1 -1
  335. package/dist/chunks/ArrowLeft-B9iGweTd.mjs +39 -0
  336. package/dist/chunks/{ArrowLeft-CjNnGIlF.cjs.map → ArrowLeft-B9iGweTd.mjs.map} +1 -1
  337. package/dist/chunks/ArrowLeft-BhNmMdMz.cjs +38 -0
  338. package/dist/chunks/{ArrowLeft-kklNBL9z.mjs.map → ArrowLeft-BhNmMdMz.cjs.map} +1 -1
  339. package/dist/chunks/ArrowRight-Clf455e1.mjs +39 -0
  340. package/dist/chunks/{ArrowRight-CxzzJJQ6.cjs.map → ArrowRight-Clf455e1.mjs.map} +1 -1
  341. package/dist/chunks/ArrowRight-DaYrccVG.cjs +38 -0
  342. package/dist/chunks/{ArrowRight-C3BxTDjF.mjs.map → ArrowRight-DaYrccVG.cjs.map} +1 -1
  343. package/dist/chunks/Check-DZc7keoa.cjs +38 -0
  344. package/dist/chunks/{Check-CVn5nytg.cjs.map → Check-DZc7keoa.cjs.map} +1 -1
  345. package/dist/chunks/Check-PawIlCwa.mjs +39 -0
  346. package/dist/chunks/{Check-CRLmJNGG.mjs.map → Check-PawIlCwa.mjs.map} +1 -1
  347. package/dist/chunks/ChevronDown-CF9m1o8_.cjs +38 -0
  348. package/dist/chunks/{ChevronDown-DQPox_nl.cjs.map → ChevronDown-CF9m1o8_.cjs.map} +1 -1
  349. package/dist/chunks/ChevronDown-PedEroXo.mjs +39 -0
  350. package/dist/chunks/{ChevronDown-HHJdUMN4.mjs.map → ChevronDown-PedEroXo.mjs.map} +1 -1
  351. package/dist/chunks/ChevronRight-BNa7yMja.mjs +39 -0
  352. package/dist/chunks/{ChevronRight-BAJhNawb.cjs.map → ChevronRight-BNa7yMja.mjs.map} +1 -1
  353. package/dist/chunks/ChevronRight-DVw6mR11.cjs +38 -0
  354. package/dist/chunks/{ChevronRight-DL3e8bjj.mjs.map → ChevronRight-DVw6mR11.cjs.map} +1 -1
  355. package/dist/chunks/ChevronUp-CTOKWYlC.cjs +38 -0
  356. package/dist/chunks/{ChevronUp-kmHRpe7H.cjs.map → ChevronUp-CTOKWYlC.cjs.map} +1 -1
  357. package/dist/chunks/ChevronUp-DGLTg_nO.mjs +39 -0
  358. package/dist/chunks/{ChevronUp-B6TIgl1a.mjs.map → ChevronUp-DGLTg_nO.mjs.map} +1 -1
  359. package/dist/chunks/Close-1V1F2F-M.mjs +39 -0
  360. package/dist/chunks/{Close-DBfrdXMw.cjs.map → Close-1V1F2F-M.mjs.map} +1 -1
  361. package/dist/chunks/Close-C2VrgKj3.cjs +38 -0
  362. package/dist/chunks/{Close-BtO5TPBO.mjs.map → Close-C2VrgKj3.cjs.map} +1 -1
  363. package/dist/chunks/DotsHorizontal-C0STD_HU.mjs +39 -0
  364. package/dist/chunks/{DotsHorizontal-B8kTqpHe.cjs.map → DotsHorizontal-C0STD_HU.mjs.map} +1 -1
  365. package/dist/chunks/DotsHorizontal-Cjw3-45t.cjs +38 -0
  366. package/dist/chunks/{DotsHorizontal-DfVgEXgz.mjs.map → DotsHorizontal-Cjw3-45t.cjs.map} +1 -1
  367. package/dist/chunks/GenColors-CAUl-IDP.cjs +160 -0
  368. package/dist/chunks/{GenColors-Dceu3ds2.mjs.map → GenColors-CAUl-IDP.cjs.map} +1 -1
  369. package/dist/chunks/{GenColors-Dceu3ds2.mjs → GenColors-DcjtQMk3.mjs} +69 -50
  370. package/dist/chunks/{GenColors-hkqGpnOK.cjs.map → GenColors-DcjtQMk3.mjs.map} +1 -1
  371. package/dist/chunks/{GenRandomId-BW3iYFf9.mjs → GenRandomId-CXkjMlAT.mjs} +4 -2
  372. package/dist/chunks/{GenRandomId-BW3iYFf9.mjs.map → GenRandomId-CXkjMlAT.mjs.map} +1 -1
  373. package/dist/chunks/{GenRandomId-B2O1GMbH.cjs → GenRandomId-kBCcgMJd.cjs} +4 -2
  374. package/dist/chunks/{GenRandomId-B2O1GMbH.cjs.map → GenRandomId-kBCcgMJd.cjs.map} +1 -1
  375. package/dist/chunks/{Linkify-BaDLLFxP.mjs → Linkify-BBPJHBma.mjs} +12 -10
  376. package/dist/chunks/{Linkify-Dola0NBa.cjs.map → Linkify-BBPJHBma.mjs.map} +1 -1
  377. package/dist/chunks/{Linkify-Dola0NBa.cjs → Linkify-CIO279AG.cjs} +14 -10
  378. package/dist/chunks/{Linkify-BaDLLFxP.mjs.map → Linkify-CIO279AG.cjs.map} +1 -1
  379. package/dist/chunks/NcActionButtonGroup-D650-6zv.mjs +53 -0
  380. package/dist/chunks/{NcActionButtonGroup-DU1taycQ.mjs.map → NcActionButtonGroup-D650-6zv.mjs.map} +1 -1
  381. package/dist/chunks/NcActionButtonGroup-D7hycpXY.cjs +52 -0
  382. package/dist/chunks/{NcActionButtonGroup-B1XhnIBl.cjs.map → NcActionButtonGroup-D7hycpXY.cjs.map} +1 -1
  383. package/dist/chunks/NcActionInput-BqG7gSLn.mjs +254 -0
  384. package/dist/chunks/{NcActionInput-53RB9uQe.mjs.map → NcActionInput-BqG7gSLn.mjs.map} +1 -1
  385. package/dist/chunks/NcActionInput-CHucaM0V.cjs +253 -0
  386. package/dist/chunks/{NcActionInput-N2wrvq5K.cjs.map → NcActionInput-CHucaM0V.cjs.map} +1 -1
  387. package/dist/chunks/NcActions-CocYka0Y.mjs +845 -0
  388. package/dist/chunks/NcActions-CocYka0Y.mjs.map +1 -0
  389. package/dist/chunks/NcActions-JX6wbAVA.cjs +846 -0
  390. package/dist/chunks/NcActions-JX6wbAVA.cjs.map +1 -0
  391. package/dist/chunks/NcAppContent-CkO1Y93z.cjs +303 -0
  392. package/dist/chunks/{NcAppContent-BDhK1rUf.mjs.map → NcAppContent-CkO1Y93z.cjs.map} +1 -1
  393. package/dist/chunks/NcAppContent-wlhVbyg0.mjs +304 -0
  394. package/dist/chunks/{NcAppContent-Be1m1O_W.cjs.map → NcAppContent-wlhVbyg0.mjs.map} +1 -1
  395. package/dist/chunks/NcAppNavigation-BKiDVBw7.mjs +142 -0
  396. package/dist/chunks/{NcAppNavigation-DKUnWfen.cjs.map → NcAppNavigation-BKiDVBw7.mjs.map} +1 -1
  397. package/dist/chunks/NcAppNavigation-Du3J8BTm.cjs +143 -0
  398. package/dist/chunks/{NcAppNavigation-CElLRpH-.mjs.map → NcAppNavigation-Du3J8BTm.cjs.map} +1 -1
  399. package/dist/chunks/NcAppNavigationCaption-BoN0P7tD.cjs +78 -0
  400. package/dist/chunks/NcAppNavigationCaption-BoN0P7tD.cjs.map +1 -0
  401. package/dist/chunks/NcAppNavigationCaption-CKTQZ_u_.mjs +79 -0
  402. package/dist/chunks/NcAppNavigationCaption-CKTQZ_u_.mjs.map +1 -0
  403. package/dist/chunks/NcAppNavigationItem-D_lh17am.cjs +521 -0
  404. package/dist/chunks/NcAppNavigationItem-D_lh17am.cjs.map +1 -0
  405. package/dist/chunks/NcAppNavigationItem-qe8jnLow.mjs +522 -0
  406. package/dist/chunks/NcAppNavigationItem-qe8jnLow.mjs.map +1 -0
  407. package/dist/chunks/NcAppNavigationNewItem-B107Beoc.mjs +98 -0
  408. package/dist/chunks/{NcAppNavigationNewItem-CN3vYnc_.mjs.map → NcAppNavigationNewItem-B107Beoc.mjs.map} +1 -1
  409. package/dist/chunks/NcAppNavigationNewItem-DyxVXE5t.cjs +97 -0
  410. package/dist/chunks/{NcAppNavigationNewItem-5B4-U2NI.cjs.map → NcAppNavigationNewItem-DyxVXE5t.cjs.map} +1 -1
  411. package/dist/chunks/NcAppNavigationSettings-CmP_tXFm.cjs +110 -0
  412. package/dist/chunks/{NcAppNavigationSettings-LmpAoM-x.mjs.map → NcAppNavigationSettings-CmP_tXFm.cjs.map} +1 -1
  413. package/dist/chunks/NcAppNavigationSettings-DZ1-Sbdz.mjs +111 -0
  414. package/dist/chunks/{NcAppNavigationSettings-Cnr4jYzW.cjs.map → NcAppNavigationSettings-DZ1-Sbdz.mjs.map} +1 -1
  415. package/dist/chunks/NcAppNavigationToggle-hmEUqxbP.cjs +129 -0
  416. package/dist/chunks/{NcAppNavigationToggle-D0oeWL17.mjs.map → NcAppNavigationToggle-hmEUqxbP.cjs.map} +1 -1
  417. package/dist/chunks/NcAppNavigationToggle-zCGgvNDT.mjs +130 -0
  418. package/dist/chunks/{NcAppNavigationToggle-B5XmO21v.cjs.map → NcAppNavigationToggle-zCGgvNDT.mjs.map} +1 -1
  419. package/dist/chunks/NcAppSettingsDialog-D9cNYQ8b.mjs +230 -0
  420. package/dist/chunks/{NcAppSettingsDialog-BLOgrVCz.mjs.map → NcAppSettingsDialog-D9cNYQ8b.mjs.map} +1 -1
  421. package/dist/chunks/NcAppSettingsDialog-YqNhco1P.cjs +232 -0
  422. package/dist/chunks/{NcAppSettingsDialog-B6crPJ6a.cjs.map → NcAppSettingsDialog-YqNhco1P.cjs.map} +1 -1
  423. package/dist/chunks/NcAppSidebar-CQWODfsy.mjs +792 -0
  424. package/dist/chunks/NcAppSidebar-CQWODfsy.mjs.map +1 -0
  425. package/dist/chunks/NcAppSidebar-J15zHyfq.cjs +791 -0
  426. package/dist/chunks/NcAppSidebar-J15zHyfq.cjs.map +1 -0
  427. package/dist/chunks/NcAvatar-CX3OX2C4.mjs +594 -0
  428. package/dist/chunks/NcAvatar-CX3OX2C4.mjs.map +1 -0
  429. package/dist/chunks/NcAvatar-CYzikYku.cjs +595 -0
  430. package/dist/chunks/NcAvatar-CYzikYku.cjs.map +1 -0
  431. package/dist/chunks/NcBreadcrumb-DytGDsr8.mjs +206 -0
  432. package/dist/chunks/{NcBreadcrumb-BxCf2hEA.mjs.map → NcBreadcrumb-DytGDsr8.mjs.map} +1 -1
  433. package/dist/chunks/NcBreadcrumb-jMJw2OQJ.cjs +205 -0
  434. package/dist/chunks/{NcBreadcrumb-BRpLGeLr.cjs.map → NcBreadcrumb-jMJw2OQJ.cjs.map} +1 -1
  435. package/dist/chunks/NcBreadcrumbs-BqFPBZ-h.mjs +525 -0
  436. package/dist/chunks/{NcBreadcrumbs-BmK-6Q-n.mjs.map → NcBreadcrumbs-BqFPBZ-h.mjs.map} +1 -1
  437. package/dist/chunks/NcBreadcrumbs-CzObAKB-.cjs +527 -0
  438. package/dist/chunks/{NcBreadcrumbs-BKPXzHC1.cjs.map → NcBreadcrumbs-CzObAKB-.cjs.map} +1 -1
  439. package/dist/chunks/NcCheckboxRadioSwitch-CIHl8lnP.cjs +685 -0
  440. package/dist/chunks/NcCheckboxRadioSwitch-CIHl8lnP.cjs.map +1 -0
  441. package/dist/chunks/NcCheckboxRadioSwitch-CpupDtee.mjs +686 -0
  442. package/dist/chunks/NcCheckboxRadioSwitch-CpupDtee.mjs.map +1 -0
  443. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CAFQAKcK.mjs +3 -0
  444. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CAFQAKcK.mjs.map +1 -0
  445. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-D2wGnjg7.cjs +4 -0
  446. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-D2wGnjg7.cjs.map +1 -0
  447. package/dist/chunks/NcColorPicker-BEs2B-HB.mjs +191 -0
  448. package/dist/chunks/NcColorPicker-BEs2B-HB.mjs.map +1 -0
  449. package/dist/chunks/NcColorPicker-KrvDMhej.cjs +190 -0
  450. package/dist/chunks/NcColorPicker-KrvDMhej.cjs.map +1 -0
  451. package/dist/chunks/NcContent-CcrNrpVC.mjs +104 -0
  452. package/dist/chunks/{NcContent-BPA0KfuT.mjs.map → NcContent-CcrNrpVC.mjs.map} +1 -1
  453. package/dist/chunks/NcContent-DChC6Khv.cjs +103 -0
  454. package/dist/chunks/{NcContent-DbFAEdX_.cjs.map → NcContent-DChC6Khv.cjs.map} +1 -1
  455. package/dist/chunks/NcDashboardWidget-BvNtltPU.cjs +147 -0
  456. package/dist/chunks/{NcDashboardWidget-2-nW7dII.mjs.map → NcDashboardWidget-BvNtltPU.cjs.map} +1 -1
  457. package/dist/chunks/NcDashboardWidget-Da715DSB.mjs +148 -0
  458. package/dist/chunks/{NcDashboardWidget-auMQiAFt.cjs.map → NcDashboardWidget-Da715DSB.mjs.map} +1 -1
  459. package/dist/chunks/NcDashboardWidgetItem-BkJTg3kj.mjs +151 -0
  460. package/dist/chunks/{NcDashboardWidgetItem-D2yoF9Oo.mjs.map → NcDashboardWidgetItem-BkJTg3kj.mjs.map} +1 -1
  461. package/dist/chunks/NcDashboardWidgetItem-CKv_fb-1.cjs +150 -0
  462. package/dist/chunks/{NcDashboardWidgetItem-xqVAP32n.cjs.map → NcDashboardWidgetItem-CKv_fb-1.cjs.map} +1 -1
  463. package/dist/chunks/NcDateTime-CpJDGhl7.mjs +181 -0
  464. package/dist/chunks/NcDateTime-CpJDGhl7.mjs.map +1 -0
  465. package/dist/chunks/NcDateTime-Cy5Bp0d2.cjs +180 -0
  466. package/dist/chunks/NcDateTime-Cy5Bp0d2.cjs.map +1 -0
  467. package/dist/chunks/NcDialog-B3ZaXnpn.mjs +235 -0
  468. package/dist/chunks/{NcDialog-C_1rhUHk.mjs.map → NcDialog-B3ZaXnpn.mjs.map} +1 -1
  469. package/dist/chunks/NcDialog-C7KRNdTc.cjs +234 -0
  470. package/dist/chunks/{NcDialog-Ciz0hlFn.cjs.map → NcDialog-C7KRNdTc.cjs.map} +1 -1
  471. package/dist/chunks/NcDialogButton-BV3Kf9U7.mjs +79 -0
  472. package/dist/chunks/{NcDialogButton-DQFoaN7q.mjs.map → NcDialogButton-BV3Kf9U7.mjs.map} +1 -1
  473. package/dist/chunks/NcDialogButton-CLWLvwpm.cjs +78 -0
  474. package/dist/chunks/{NcDialogButton-D7ibBxsQ.cjs.map → NcDialogButton-CLWLvwpm.cjs.map} +1 -1
  475. package/dist/chunks/NcEmojiPicker-LFuZ15M5.cjs +285 -0
  476. package/dist/chunks/{NcEmojiPicker-S2pfwxlK.cjs.map → NcEmojiPicker-LFuZ15M5.cjs.map} +1 -1
  477. package/dist/chunks/NcEmojiPicker-SqbRSwu2.mjs +284 -0
  478. package/dist/chunks/{NcEmojiPicker-Cie30NYK.mjs.map → NcEmojiPicker-SqbRSwu2.mjs.map} +1 -1
  479. package/dist/chunks/NcHeaderMenu-2n5GDt37.mjs +226 -0
  480. package/dist/chunks/{NcHeaderMenu-DOGXti7v.mjs.map → NcHeaderMenu-2n5GDt37.mjs.map} +1 -1
  481. package/dist/chunks/NcHeaderMenu-830tFszI.cjs +225 -0
  482. package/dist/chunks/{NcHeaderMenu-58OTmM-5.cjs.map → NcHeaderMenu-830tFszI.cjs.map} +1 -1
  483. package/dist/chunks/NcIconSvgWrapper-KWEbPRC9.mjs +101 -0
  484. package/dist/chunks/{NcIconSvgWrapper-kIn1eQyv.cjs.map → NcIconSvgWrapper-KWEbPRC9.mjs.map} +1 -1
  485. package/dist/chunks/NcIconSvgWrapper-O61kZVNp.cjs +103 -0
  486. package/dist/chunks/{NcIconSvgWrapper-BTdzvQGV.mjs.map → NcIconSvgWrapper-O61kZVNp.cjs.map} +1 -1
  487. package/dist/chunks/NcInputConfirmCancel-CJ7nPGEd.cjs +112 -0
  488. package/dist/chunks/{NcInputConfirmCancel-DVmY85-V.cjs.map → NcInputConfirmCancel-CJ7nPGEd.cjs.map} +1 -1
  489. package/dist/chunks/NcInputConfirmCancel-XXXgXoSw.mjs +113 -0
  490. package/dist/chunks/{NcInputConfirmCancel-Nn_JgG9d.mjs.map → NcInputConfirmCancel-XXXgXoSw.mjs.map} +1 -1
  491. package/dist/chunks/NcListItem-CxpC4EKk.cjs +275 -0
  492. package/dist/chunks/{NcListItem-BopkGRDs.mjs.map → NcListItem-CxpC4EKk.cjs.map} +1 -1
  493. package/dist/chunks/NcListItem-DrTIia88.mjs +276 -0
  494. package/dist/chunks/{NcListItem-B_MPLJ_8.cjs.map → NcListItem-DrTIia88.mjs.map} +1 -1
  495. package/dist/chunks/NcListItemIcon-44A7fm62.cjs +175 -0
  496. package/dist/chunks/NcListItemIcon-44A7fm62.cjs.map +1 -0
  497. package/dist/chunks/NcListItemIcon-CTTJYWzN.mjs +176 -0
  498. package/dist/chunks/NcListItemIcon-CTTJYWzN.mjs.map +1 -0
  499. package/dist/chunks/NcPasswordField-DN-kdAfl.cjs +256 -0
  500. package/dist/chunks/{NcPasswordField-BgSp7dK4.mjs.map → NcPasswordField-DN-kdAfl.cjs.map} +1 -1
  501. package/dist/chunks/NcPasswordField-Z6BCKScy.mjs +254 -0
  502. package/dist/chunks/{NcPasswordField-BooDzf0Z.cjs.map → NcPasswordField-Z6BCKScy.mjs.map} +1 -1
  503. package/dist/chunks/NcPopover-BS1bBSkg.cjs +268 -0
  504. package/dist/chunks/{NcPopover--V3R3EKV.mjs.map → NcPopover-BS1bBSkg.cjs.map} +1 -1
  505. package/dist/chunks/NcPopover-foxJPAfG.mjs +267 -0
  506. package/dist/chunks/{NcPopover-h-t7Dnjk.cjs.map → NcPopover-foxJPAfG.mjs.map} +1 -1
  507. package/dist/chunks/NcProgressBar-BafFcKiu.mjs +117 -0
  508. package/dist/chunks/{NcProgressBar-BYk5hfPI.cjs.map → NcProgressBar-BafFcKiu.mjs.map} +1 -1
  509. package/dist/chunks/NcProgressBar-mFqoqB4L.cjs +116 -0
  510. package/dist/chunks/{NcProgressBar-DDAeXyp8.mjs.map → NcProgressBar-mFqoqB4L.cjs.map} +1 -1
  511. package/dist/chunks/NcRelatedResourcesPanel-D3QlWSNc.mjs +438 -0
  512. package/dist/chunks/{NcRelatedResourcesPanel-DaiuNCYU.cjs.map → NcRelatedResourcesPanel-D3QlWSNc.mjs.map} +1 -1
  513. package/dist/chunks/NcRelatedResourcesPanel-Dcm2wvfd.cjs +439 -0
  514. package/dist/chunks/{NcRelatedResourcesPanel-Ch1b_Gl3.mjs.map → NcRelatedResourcesPanel-Dcm2wvfd.cjs.map} +1 -1
  515. package/dist/chunks/NcRichContenteditable-BB-qsHEm.mjs +797 -0
  516. package/dist/chunks/{NcRichContenteditable-CEqdmoem.mjs.map → NcRichContenteditable-BB-qsHEm.mjs.map} +1 -1
  517. package/dist/chunks/NcRichContenteditable-DljQv8gw.cjs +800 -0
  518. package/dist/chunks/{NcRichContenteditable-BF3BkdqM.cjs.map → NcRichContenteditable-DljQv8gw.cjs.map} +1 -1
  519. package/dist/chunks/NcRichText-BDVKgmY5.cjs +419 -0
  520. package/dist/chunks/{NcRichText-DCkExl5g.cjs.map → NcRichText-BDVKgmY5.cjs.map} +1 -1
  521. package/dist/chunks/NcRichText-BT4VjvXi.mjs +412 -0
  522. package/dist/chunks/{NcRichText-CUKFkHQg.mjs.map → NcRichText-BT4VjvXi.mjs.map} +1 -1
  523. package/dist/chunks/NcSavingIndicatorIcon-Bhy7wcoT.mjs +65 -0
  524. package/dist/chunks/{NcSavingIndicatorIcon-Bf0SEmgS.mjs.map → NcSavingIndicatorIcon-Bhy7wcoT.mjs.map} +1 -1
  525. package/dist/chunks/NcSavingIndicatorIcon-BzKAIkhk.cjs +64 -0
  526. package/dist/chunks/{NcSavingIndicatorIcon-BTvUkUn-.cjs.map → NcSavingIndicatorIcon-BzKAIkhk.cjs.map} +1 -1
  527. package/dist/chunks/{NcSelect-Bo71Yd6L.mjs → NcSelect-CNm4fmR6.mjs} +159 -121
  528. package/dist/chunks/{NcSelect-Bn3oTHtq.cjs.map → NcSelect-CNm4fmR6.mjs.map} +1 -1
  529. package/dist/chunks/{NcSelect-Bn3oTHtq.cjs → NcSelect-DckQCxxX.cjs} +161 -111
  530. package/dist/chunks/{NcSelect-Bo71Yd6L.mjs.map → NcSelect-DckQCxxX.cjs.map} +1 -1
  531. package/dist/chunks/NcSelectTags-CnkBJ3vP.cjs +303 -0
  532. package/dist/chunks/{NcSelectTags-CgYWiDjX.cjs.map → NcSelectTags-CnkBJ3vP.cjs.map} +1 -1
  533. package/dist/chunks/NcSelectTags-nCqLANFH.mjs +302 -0
  534. package/dist/chunks/{NcSelectTags-9aCrLRT0.mjs.map → NcSelectTags-nCqLANFH.mjs.map} +1 -1
  535. package/dist/chunks/NcSettingsInputText-D-S5LBmN.mjs +102 -0
  536. package/dist/chunks/{NcSettingsInputText-JboV8u2l.mjs.map → NcSettingsInputText-D-S5LBmN.mjs.map} +1 -1
  537. package/dist/chunks/NcSettingsInputText-Dd3wEwGy.cjs +101 -0
  538. package/dist/chunks/{NcSettingsInputText-1i2TqdMB.cjs.map → NcSettingsInputText-Dd3wEwGy.cjs.map} +1 -1
  539. package/dist/chunks/NcSettingsSection-B0-LmypW.mjs +112 -0
  540. package/dist/chunks/NcSettingsSection-B0-LmypW.mjs.map +1 -0
  541. package/dist/chunks/NcSettingsSection-ayl3nvdL.cjs +111 -0
  542. package/dist/chunks/NcSettingsSection-ayl3nvdL.cjs.map +1 -0
  543. package/dist/chunks/NcSettingsSelectGroup-C51Km4wj.mjs +211 -0
  544. package/dist/chunks/{NcSettingsSelectGroup-DUzmbtZx.mjs.map → NcSettingsSelectGroup-C51Km4wj.mjs.map} +1 -1
  545. package/dist/chunks/NcSettingsSelectGroup-Dc7oy0Jg.cjs +213 -0
  546. package/dist/chunks/{NcSettingsSelectGroup-CgUJmyF7.cjs.map → NcSettingsSelectGroup-Dc7oy0Jg.cjs.map} +1 -1
  547. package/dist/chunks/NcTextField-BmOKGaQ4.cjs +150 -0
  548. package/dist/chunks/{NcTextField-B5cUYgRy.cjs.map → NcTextField-BmOKGaQ4.cjs.map} +1 -1
  549. package/dist/chunks/NcTextField-BmaDUUfq.mjs +151 -0
  550. package/dist/chunks/{NcTextField-D_eUEl2B.mjs.map → NcTextField-BmaDUUfq.mjs.map} +1 -1
  551. package/dist/chunks/{NcTimezonePicker-CH1lkCMF.mjs → NcTimezonePicker-BSgT2QA5.mjs} +814 -551
  552. package/dist/chunks/{NcTimezonePicker-CH1lkCMF.mjs.map → NcTimezonePicker-BSgT2QA5.mjs.map} +1 -1
  553. package/dist/chunks/{NcTimezonePicker-BF5TeadZ.cjs → NcTimezonePicker-iD8mrVb_.cjs} +814 -546
  554. package/dist/chunks/{NcTimezonePicker-BF5TeadZ.cjs.map → NcTimezonePicker-iD8mrVb_.cjs.map} +1 -1
  555. package/dist/chunks/NcUserBubble-BJp-ZBGW.mjs +211 -0
  556. package/dist/chunks/{NcUserBubble-BadEJRgs.cjs.map → NcUserBubble-BJp-ZBGW.mjs.map} +1 -1
  557. package/dist/chunks/NcUserBubble-BsQJPVXD.cjs +212 -0
  558. package/dist/chunks/{NcUserBubble-C0HbPO9p.mjs.map → NcUserBubble-BsQJPVXD.cjs.map} +1 -1
  559. package/dist/chunks/NcUserStatusIcon-Ba9ajMhK.cjs +170 -0
  560. package/dist/chunks/{NcUserStatusIcon-HOUdT_MR.mjs.map → NcUserStatusIcon-Ba9ajMhK.cjs.map} +1 -1
  561. package/dist/chunks/NcUserStatusIcon-BkO1ZAdq.mjs +168 -0
  562. package/dist/chunks/{NcUserStatusIcon-B69NZ9Hw.cjs.map → NcUserStatusIcon-BkO1ZAdq.mjs.map} +1 -1
  563. package/dist/chunks/{ScopeComponent-IO407Bzb.cjs → ScopeComponent-BpyBuaF3.cjs} +9 -4
  564. package/dist/chunks/{ScopeComponent-IO407Bzb.cjs.map → ScopeComponent-BpyBuaF3.cjs.map} +1 -1
  565. package/dist/chunks/{ScopeComponent-Dz4pyD77.mjs → ScopeComponent-Dy6ublmy.mjs} +9 -4
  566. package/dist/chunks/{ScopeComponent-Dz4pyD77.mjs.map → ScopeComponent-Dy6ublmy.mjs.map} +1 -1
  567. package/dist/chunks/_l10n-BYPqjHzt.cjs +121 -0
  568. package/dist/chunks/_l10n-BYPqjHzt.cjs.map +1 -0
  569. package/dist/chunks/_l10n-hRR5zBTZ.mjs +122 -0
  570. package/dist/chunks/_l10n-hRR5zBTZ.mjs.map +1 -0
  571. package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs +59 -0
  572. package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs.map +1 -0
  573. package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs +58 -0
  574. package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs.map +1 -0
  575. package/dist/chunks/{actionGlobal-DL1VaQzF.cjs → actionGlobal-BfK-CImU.cjs} +2 -2
  576. package/dist/chunks/{actionGlobal-D49NL940.mjs.map → actionGlobal-BfK-CImU.cjs.map} +1 -1
  577. package/dist/chunks/{actionGlobal-D49NL940.mjs → actionGlobal-DV5ZiuS0.mjs} +2 -2
  578. package/dist/chunks/{actionGlobal-DL1VaQzF.cjs.map → actionGlobal-DV5ZiuS0.mjs.map} +1 -1
  579. package/dist/chunks/{actionText-jLsEBszD.mjs → actionText-BaGktsVf.mjs} +21 -17
  580. package/dist/chunks/{actionText-jLsEBszD.mjs.map → actionText-BaGktsVf.mjs.map} +1 -1
  581. package/dist/chunks/{actionText-iWNpvZuI.cjs → actionText-BnA6RS9I.cjs} +21 -17
  582. package/dist/chunks/{actionText-iWNpvZuI.cjs.map → actionText-BnA6RS9I.cjs.map} +1 -1
  583. package/dist/chunks/autolink-Bgjz08wN.cjs +125 -0
  584. package/dist/chunks/autolink-Bgjz08wN.cjs.map +1 -0
  585. package/dist/chunks/autolink-DA7VzS8Y.mjs +126 -0
  586. package/dist/chunks/autolink-DA7VzS8Y.mjs.map +1 -0
  587. package/dist/chunks/emoji-CWr00EYY.cjs +87 -0
  588. package/dist/chunks/emoji-CWr00EYY.cjs.map +1 -0
  589. package/dist/chunks/emoji-CbOkKZx5.mjs +86 -0
  590. package/dist/chunks/emoji-CbOkKZx5.mjs.map +1 -0
  591. package/dist/chunks/{focusTrap-xauhLvvr.cjs → focusTrap-Dsmd28wG.cjs} +4 -3
  592. package/dist/chunks/{focusTrap-Be9GEB5C.mjs.map → focusTrap-Dsmd28wG.cjs.map} +1 -1
  593. package/dist/chunks/{focusTrap-Be9GEB5C.mjs → focusTrap-hWDNhn4t.mjs} +4 -3
  594. package/dist/chunks/{focusTrap-xauhLvvr.cjs.map → focusTrap-hWDNhn4t.mjs.map} +1 -1
  595. package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs → getAvatarUrl-BBvqBOJD.mjs} +7 -7
  596. package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs.map → getAvatarUrl-BBvqBOJD.mjs.map} +1 -1
  597. package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs → getAvatarUrl-C40xfr4C.cjs} +7 -7
  598. package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs.map → getAvatarUrl-C40xfr4C.cjs.map} +1 -1
  599. package/dist/chunks/index-BRQQ9NaL.mjs +198 -0
  600. package/dist/chunks/{index-uiNhPYvS.mjs.map → index-BRQQ9NaL.mjs.map} +1 -1
  601. package/dist/chunks/index-BwyQ2N-M.mjs +119 -0
  602. package/dist/chunks/index-BwyQ2N-M.mjs.map +1 -0
  603. package/dist/chunks/index-D0euettC.cjs +201 -0
  604. package/dist/chunks/{index-CMnR5Pf6.cjs.map → index-D0euettC.cjs.map} +1 -1
  605. package/dist/chunks/index-DYccGIvD.mjs +197 -0
  606. package/dist/chunks/{index-CnpswYi6.mjs.map → index-DYccGIvD.mjs.map} +1 -1
  607. package/dist/chunks/index-Dl-SBuhJ.cjs +196 -0
  608. package/dist/chunks/{index-Cke9rKBg.cjs.map → index-Dl-SBuhJ.cjs.map} +1 -1
  609. package/dist/chunks/index-Dsgv-f-l.cjs +118 -0
  610. package/dist/chunks/index-Dsgv-f-l.cjs.map +1 -0
  611. package/dist/chunks/{logger-D9RRY4er.cjs → logger-BcZGm6Un.cjs} +3 -3
  612. package/dist/chunks/{logger-C7qcfVW8.mjs.map → logger-BcZGm6Un.cjs.map} +1 -1
  613. package/dist/chunks/{logger-C7qcfVW8.mjs → logger-C7ZZ6zFQ.mjs} +3 -3
  614. package/dist/chunks/{logger-D9RRY4er.cjs.map → logger-C7ZZ6zFQ.mjs.map} +1 -1
  615. package/dist/chunks/referencePickerModal-CFPdv-m1.mjs +3469 -0
  616. package/dist/chunks/referencePickerModal-CFPdv-m1.mjs.map +1 -0
  617. package/dist/chunks/referencePickerModal-m0FcnvxK.cjs +3471 -0
  618. package/dist/chunks/referencePickerModal-m0FcnvxK.cjs.map +1 -0
  619. package/dist/chunks/{usernameToColor-BHkzj1tb.mjs → usernameToColor-CLlyFMmy.mjs} +22 -16
  620. package/dist/chunks/{usernameToColor-BHkzj1tb.mjs.map → usernameToColor-CLlyFMmy.mjs.map} +1 -1
  621. package/dist/chunks/usernameToColor-cfXKb46d.cjs +48 -0
  622. package/dist/chunks/{usernameToColor-DA36rR48.cjs.map → usernameToColor-cfXKb46d.cjs.map} +1 -1
  623. package/dist/composables/useFormatDateTime.d.ts +57 -0
  624. package/dist/index.cjs +284 -224
  625. package/dist/index.cjs.map +1 -1
  626. package/dist/index.mjs +287 -306
  627. package/dist/index.mjs.map +1 -1
  628. package/dist/plugin.d.ts +2 -1
  629. package/package.json +8 -8
  630. package/dist/assets/NcRichText-DNXuHl34.css +0 -229
  631. package/dist/assets/referencePickerModal-DWB2ghBg.css +0 -336
  632. package/dist/chunks/AlertCircleOutline-DHFN4OkX.cjs +0 -35
  633. package/dist/chunks/AlertCircleOutline-U_bhL30C.mjs +0 -37
  634. package/dist/chunks/ArrowLeft-CjNnGIlF.cjs +0 -35
  635. package/dist/chunks/ArrowLeft-kklNBL9z.mjs +0 -37
  636. package/dist/chunks/ArrowRight-C3BxTDjF.mjs +0 -37
  637. package/dist/chunks/ArrowRight-CxzzJJQ6.cjs +0 -35
  638. package/dist/chunks/Check-CRLmJNGG.mjs +0 -37
  639. package/dist/chunks/Check-CVn5nytg.cjs +0 -35
  640. package/dist/chunks/ChevronDown-DQPox_nl.cjs +0 -35
  641. package/dist/chunks/ChevronDown-HHJdUMN4.mjs +0 -37
  642. package/dist/chunks/ChevronRight-BAJhNawb.cjs +0 -35
  643. package/dist/chunks/ChevronRight-DL3e8bjj.mjs +0 -37
  644. package/dist/chunks/ChevronUp-B6TIgl1a.mjs +0 -37
  645. package/dist/chunks/ChevronUp-kmHRpe7H.cjs +0 -35
  646. package/dist/chunks/Close-BtO5TPBO.mjs +0 -37
  647. package/dist/chunks/Close-DBfrdXMw.cjs +0 -35
  648. package/dist/chunks/DotsHorizontal-B8kTqpHe.cjs +0 -35
  649. package/dist/chunks/DotsHorizontal-DfVgEXgz.mjs +0 -37
  650. package/dist/chunks/GenColors-hkqGpnOK.cjs +0 -141
  651. package/dist/chunks/NcActionButtonGroup-B1XhnIBl.cjs +0 -46
  652. package/dist/chunks/NcActionButtonGroup-DU1taycQ.mjs +0 -50
  653. package/dist/chunks/NcActionInput-53RB9uQe.mjs +0 -244
  654. package/dist/chunks/NcActionInput-N2wrvq5K.cjs +0 -235
  655. package/dist/chunks/NcActions-BtvXtZF4.cjs +0 -688
  656. package/dist/chunks/NcActions-BtvXtZF4.cjs.map +0 -1
  657. package/dist/chunks/NcActions-DiFslXqv.mjs +0 -696
  658. package/dist/chunks/NcActions-DiFslXqv.mjs.map +0 -1
  659. package/dist/chunks/NcAppContent-BDhK1rUf.mjs +0 -265
  660. package/dist/chunks/NcAppContent-Be1m1O_W.cjs +0 -256
  661. package/dist/chunks/NcAppNavigation-CElLRpH-.mjs +0 -124
  662. package/dist/chunks/NcAppNavigation-DKUnWfen.cjs +0 -115
  663. package/dist/chunks/NcAppNavigationCaption-Cdcv-0jj.cjs +0 -58
  664. package/dist/chunks/NcAppNavigationCaption-Cdcv-0jj.cjs.map +0 -1
  665. package/dist/chunks/NcAppNavigationCaption-DI7SIPdI.mjs +0 -61
  666. package/dist/chunks/NcAppNavigationCaption-DI7SIPdI.mjs.map +0 -1
  667. package/dist/chunks/NcAppNavigationItem-7xN_CMHW.cjs +0 -463
  668. package/dist/chunks/NcAppNavigationItem-7xN_CMHW.cjs.map +0 -1
  669. package/dist/chunks/NcAppNavigationItem-Djfc0DPY.mjs +0 -475
  670. package/dist/chunks/NcAppNavigationItem-Djfc0DPY.mjs.map +0 -1
  671. package/dist/chunks/NcAppNavigationNewItem-5B4-U2NI.cjs +0 -87
  672. package/dist/chunks/NcAppNavigationNewItem-CN3vYnc_.mjs +0 -91
  673. package/dist/chunks/NcAppNavigationSettings-Cnr4jYzW.cjs +0 -104
  674. package/dist/chunks/NcAppNavigationSettings-LmpAoM-x.mjs +0 -106
  675. package/dist/chunks/NcAppNavigationToggle-B5XmO21v.cjs +0 -119
  676. package/dist/chunks/NcAppNavigationToggle-D0oeWL17.mjs +0 -122
  677. package/dist/chunks/NcAppSettingsDialog-B6crPJ6a.cjs +0 -184
  678. package/dist/chunks/NcAppSettingsDialog-BLOgrVCz.mjs +0 -191
  679. package/dist/chunks/NcAppSidebar-CqER6-dl.mjs +0 -606
  680. package/dist/chunks/NcAppSidebar-CqER6-dl.mjs.map +0 -1
  681. package/dist/chunks/NcAppSidebar-qC5-u1p0.cjs +0 -588
  682. package/dist/chunks/NcAppSidebar-qC5-u1p0.cjs.map +0 -1
  683. package/dist/chunks/NcAvatar-BBhoG-za.mjs +0 -486
  684. package/dist/chunks/NcAvatar-BBhoG-za.mjs.map +0 -1
  685. package/dist/chunks/NcAvatar-BuqOk4mX.cjs +0 -467
  686. package/dist/chunks/NcAvatar-BuqOk4mX.cjs.map +0 -1
  687. package/dist/chunks/NcBreadcrumb-BRpLGeLr.cjs +0 -180
  688. package/dist/chunks/NcBreadcrumb-BxCf2hEA.mjs +0 -186
  689. package/dist/chunks/NcBreadcrumbs-BKPXzHC1.cjs +0 -412
  690. package/dist/chunks/NcBreadcrumbs-BmK-6Q-n.mjs +0 -422
  691. package/dist/chunks/NcCheckboxRadioSwitch-B9w3Znu7.cjs +0 -603
  692. package/dist/chunks/NcCheckboxRadioSwitch-B9w3Znu7.cjs.map +0 -1
  693. package/dist/chunks/NcCheckboxRadioSwitch-BOl1O2zi.mjs +0 -607
  694. package/dist/chunks/NcCheckboxRadioSwitch-BOl1O2zi.mjs.map +0 -1
  695. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CCwH-BzH.mjs +0 -3
  696. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CCwH-BzH.mjs.map +0 -1
  697. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-DAxGPyzS.cjs +0 -4
  698. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-DAxGPyzS.cjs.map +0 -1
  699. package/dist/chunks/NcColorPicker-CeoImUTC.mjs +0 -178
  700. package/dist/chunks/NcColorPicker-CeoImUTC.mjs.map +0 -1
  701. package/dist/chunks/NcColorPicker-DOcxlY35.cjs +0 -168
  702. package/dist/chunks/NcColorPicker-DOcxlY35.cjs.map +0 -1
  703. package/dist/chunks/NcContent-BPA0KfuT.mjs +0 -87
  704. package/dist/chunks/NcContent-DbFAEdX_.cjs +0 -80
  705. package/dist/chunks/NcDashboardWidget-2-nW7dII.mjs +0 -141
  706. package/dist/chunks/NcDashboardWidget-auMQiAFt.cjs +0 -135
  707. package/dist/chunks/NcDashboardWidgetItem-D2yoF9Oo.mjs +0 -143
  708. package/dist/chunks/NcDashboardWidgetItem-xqVAP32n.cjs +0 -138
  709. package/dist/chunks/NcDateTime-CeOdKcvC.mjs +0 -146
  710. package/dist/chunks/NcDateTime-CeOdKcvC.mjs.map +0 -1
  711. package/dist/chunks/NcDateTime-DneyKibb.cjs +0 -142
  712. package/dist/chunks/NcDateTime-DneyKibb.cjs.map +0 -1
  713. package/dist/chunks/NcDialog-C_1rhUHk.mjs +0 -214
  714. package/dist/chunks/NcDialog-Ciz0hlFn.cjs +0 -207
  715. package/dist/chunks/NcDialogButton-D7ibBxsQ.cjs +0 -69
  716. package/dist/chunks/NcDialogButton-DQFoaN7q.mjs +0 -74
  717. package/dist/chunks/NcEmojiPicker-Cie30NYK.mjs +0 -251
  718. package/dist/chunks/NcEmojiPicker-S2pfwxlK.cjs +0 -241
  719. package/dist/chunks/NcHeaderMenu-58OTmM-5.cjs +0 -187
  720. package/dist/chunks/NcHeaderMenu-DOGXti7v.mjs +0 -193
  721. package/dist/chunks/NcIconSvgWrapper-BTdzvQGV.mjs +0 -93
  722. package/dist/chunks/NcIconSvgWrapper-kIn1eQyv.cjs +0 -89
  723. package/dist/chunks/NcInputConfirmCancel-DVmY85-V.cjs +0 -92
  724. package/dist/chunks/NcInputConfirmCancel-Nn_JgG9d.mjs +0 -97
  725. package/dist/chunks/NcListItem-B_MPLJ_8.cjs +0 -233
  726. package/dist/chunks/NcListItem-BopkGRDs.mjs +0 -238
  727. package/dist/chunks/NcListItemIcon-CI23iFQz.mjs +0 -166
  728. package/dist/chunks/NcListItemIcon-CI23iFQz.mjs.map +0 -1
  729. package/dist/chunks/NcListItemIcon-Dwgi2cPr.cjs +0 -163
  730. package/dist/chunks/NcListItemIcon-Dwgi2cPr.cjs.map +0 -1
  731. package/dist/chunks/NcPasswordField-BgSp7dK4.mjs +0 -238
  732. package/dist/chunks/NcPasswordField-BooDzf0Z.cjs +0 -229
  733. package/dist/chunks/NcPopover--V3R3EKV.mjs +0 -239
  734. package/dist/chunks/NcPopover-h-t7Dnjk.cjs +0 -233
  735. package/dist/chunks/NcProgressBar-BYk5hfPI.cjs +0 -96
  736. package/dist/chunks/NcProgressBar-DDAeXyp8.mjs +0 -99
  737. package/dist/chunks/NcRelatedResourcesPanel-Ch1b_Gl3.mjs +0 -381
  738. package/dist/chunks/NcRelatedResourcesPanel-DaiuNCYU.cjs +0 -371
  739. package/dist/chunks/NcRichContenteditable-BF3BkdqM.cjs +0 -640
  740. package/dist/chunks/NcRichContenteditable-CEqdmoem.mjs +0 -649
  741. package/dist/chunks/NcRichText-CUKFkHQg.mjs +0 -355
  742. package/dist/chunks/NcRichText-DCkExl5g.cjs +0 -339
  743. package/dist/chunks/NcSavingIndicatorIcon-BTvUkUn-.cjs +0 -59
  744. package/dist/chunks/NcSavingIndicatorIcon-Bf0SEmgS.mjs +0 -62
  745. package/dist/chunks/NcSelectTags-9aCrLRT0.mjs +0 -258
  746. package/dist/chunks/NcSelectTags-CgYWiDjX.cjs +0 -252
  747. package/dist/chunks/NcSettingsInputText-1i2TqdMB.cjs +0 -92
  748. package/dist/chunks/NcSettingsInputText-JboV8u2l.mjs +0 -95
  749. package/dist/chunks/NcSettingsSection-CNMpCD3o.cjs +0 -96
  750. package/dist/chunks/NcSettingsSection-CNMpCD3o.cjs.map +0 -1
  751. package/dist/chunks/NcSettingsSection-Lgwm3w2e.mjs +0 -98
  752. package/dist/chunks/NcSettingsSection-Lgwm3w2e.mjs.map +0 -1
  753. package/dist/chunks/NcSettingsSelectGroup-CgUJmyF7.cjs +0 -185
  754. package/dist/chunks/NcSettingsSelectGroup-DUzmbtZx.mjs +0 -192
  755. package/dist/chunks/NcTextField-B5cUYgRy.cjs +0 -140
  756. package/dist/chunks/NcTextField-D_eUEl2B.mjs +0 -146
  757. package/dist/chunks/NcUserBubble-BadEJRgs.cjs +0 -193
  758. package/dist/chunks/NcUserBubble-C0HbPO9p.mjs +0 -198
  759. package/dist/chunks/NcUserStatusIcon-B69NZ9Hw.cjs +0 -150
  760. package/dist/chunks/NcUserStatusIcon-HOUdT_MR.mjs +0 -157
  761. package/dist/chunks/_l10n-B8iumFKB.cjs +0 -66
  762. package/dist/chunks/_l10n-B8iumFKB.cjs.map +0 -1
  763. package/dist/chunks/_l10n-BaNxGGXy.mjs +0 -68
  764. package/dist/chunks/_l10n-BaNxGGXy.mjs.map +0 -1
  765. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs +0 -32
  766. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs.map +0 -1
  767. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs +0 -31
  768. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs.map +0 -1
  769. package/dist/chunks/autolink-DNGB8YSW.mjs +0 -86
  770. package/dist/chunks/autolink-DNGB8YSW.mjs.map +0 -1
  771. package/dist/chunks/autolink-MMzlO_Ai.cjs +0 -82
  772. package/dist/chunks/autolink-MMzlO_Ai.cjs.map +0 -1
  773. package/dist/chunks/emoji-DEH9dtOa.cjs +0 -59
  774. package/dist/chunks/emoji-DEH9dtOa.cjs.map +0 -1
  775. package/dist/chunks/emoji-k4gWHxrE.mjs +0 -62
  776. package/dist/chunks/emoji-k4gWHxrE.mjs.map +0 -1
  777. package/dist/chunks/index-Bh9FEWbr.cjs +0 -87
  778. package/dist/chunks/index-Bh9FEWbr.cjs.map +0 -1
  779. package/dist/chunks/index-CMnR5Pf6.cjs +0 -157
  780. package/dist/chunks/index-CU14QsCg.mjs +0 -88
  781. package/dist/chunks/index-CU14QsCg.mjs.map +0 -1
  782. package/dist/chunks/index-Cke9rKBg.cjs +0 -148
  783. package/dist/chunks/index-CnpswYi6.mjs +0 -149
  784. package/dist/chunks/index-uiNhPYvS.mjs +0 -163
  785. package/dist/chunks/referencePickerModal-AvSHyw1b.mjs +0 -2428
  786. package/dist/chunks/referencePickerModal-AvSHyw1b.mjs.map +0 -1
  787. package/dist/chunks/referencePickerModal-B_Su3XpN.cjs +0 -2408
  788. package/dist/chunks/referencePickerModal-B_Su3XpN.cjs.map +0 -1
  789. package/dist/chunks/usernameToColor-DA36rR48.cjs +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"NcTimezonePicker-BF5TeadZ.cjs","sources":["../../src/components/NcTimezonePicker/timezone.js","../../src/components/NcTimezonePicker/timezoneDataProviderService.js","../../src/components/NcTimezonePicker/NcTimezonePicker.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.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 */\nimport { t } from '../../l10n.js'\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @return {Array}\n */\nexport function getSortedTimezoneList(timezoneList = [], additionalTimezones = []) {\n\tconst sortedByContinent = {}\n\tconst sortedList = []\n\n\tfor (const timezoneId of timezoneList) {\n\t\tconst components = timezoneId.split('/')\n\t\tlet [continent, name] = [components.shift(), components.join('/')]\n\t\tif (!name) {\n\t\t\tname = continent\n\t\t\t// TRANSLATORS This refers to global timezones in the timezone picker\n\t\t\tcontinent = t('Global')\n\t\t}\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel: getReadableTimezoneName(name),\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const additionalTimezone of additionalTimezones) {\n\t\tconst { continent, label, timezoneId } = additionalTimezone\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel,\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const continent in sortedByContinent) {\n\t\tif (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tsortedByContinent[continent].regions.sort((a, b) => {\n\t\t\tif (a.label < b.label) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\treturn 1\n\t\t})\n\t\tsortedList.push(sortedByContinent[continent])\n\t}\n\n\t// Sort continents by name\n\tsortedList.sort((a, b) => {\n\t\tif (a.continent < b.continent) {\n\t\t\treturn -1\n\t\t}\n\n\t\treturn 1\n\t})\n\n\treturn sortedList\n}\n\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @return {string}\n */\nexport function getReadableTimezoneName(timezoneId) {\n\treturn timezoneId\n\t\t.split('_')\n\t\t.join(' ')\n\t\t.replace('St ', 'St. ')\n\t\t.split('/')\n\t\t.join(' - ')\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.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 */\nimport tzData from '../../../resources/timezones/zones.json'\nimport logger from '../../utils/logger.js'\n\nimport { getTimezoneManager } from '@nextcloud/calendar-js'\n\nconst timezoneManager = getTimezoneManager()\nlet initialized = false\n\n/**\n * Gets the timezone-manager\n * initializes it if necessary\n *\n * @return {object}\n */\nexport default function() {\n\tif (!initialized) {\n\t\tinitialize()\n\t}\n\n\treturn timezoneManager\n}\n\n/**\n * Initializes the timezone-manager with all timezones shipped by the calendar app\n */\nfunction initialize() {\n\tlogger.debug(`Using version ${tzData.version} of the timezone database`)\n\n\tfor (const tzid in tzData.zones) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\tconst ics = [\n\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t'TZID:' + tzid,\n\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t'END:VTIMEZONE',\n\t\t\t].join('\\r\\n')\n\t\t\ttimezoneManager.registerTimezoneFromICS(tzid, ics)\n\t\t}\n\t}\n\n\tfor (const tzid in tzData.aliases) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\ttimezoneManager.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t}\n\t}\n\n\tinitialized = true\n}\n","<!--\n - @copyright Copyright (c) 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\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### Example\n```vue\n<template>\n\t<span>\n\t\t<NcTimezonePicker v-model=\"tz\" />\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttz: 'Hawaiian Standard Time',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcSelect :aria-label-combobox=\"t('Search for time zone')\"\n\t\t:clearable=\"false\"\n\t\t:filter-by=\"filterBy\"\n\t\t:multiple=\"false\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"placeholder\"\n\t\t:selectable=\"isSelectable\"\n\t\t:uid=\"uid\"\n\t\t:value=\"selectedTimezone\"\n\t\tlabel=\"label\"\n\t\t@option:selected=\"change\" />\n</template>\n\n<script>\nimport {\n\tgetReadableTimezoneName,\n\tgetSortedTimezoneList,\n} from './timezone.js'\nimport getTimezoneManager from './timezoneDataProviderService.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcSelect from '../NcSelect/index.js'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcTimezonePicker',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\t/**\n\t\t * An array of additional timezones to include with the standard database. Useful if there is a custom timezone, e.g. read from user data\n\t\t */\n\t\tadditionalTimezones: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\t/**\n\t\t * The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: 'floating',\n\t\t},\n\t\t/**\n\t\t * ID of the inner vue-select element, can be used for labels like: `vs-${uid}__combobox`\n\t\t */\n\t\tuid: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: () => `tz-${GenRandomId(5)}`,\n\t\t},\n\t},\n\temits: ['input'],\n\tcomputed: {\n\t\tplaceholder() {\n\t\t\treturn t('Type to search time zone')\n\t\t},\n\t\tselectedTimezone() {\n\t\t\tfor (const additionalTimezone of this.additionalTimezones) {\n\t\t\t\tif (additionalTimezone.timezoneId === this.value) {\n\t\t\t\t\treturn additionalTimezone\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tlabel: getReadableTimezoneName(this.value),\n\t\t\t\ttimezoneId: this.value,\n\t\t\t}\n\t\t},\n\t\toptions() {\n\t\t\tconst timezoneManager = getTimezoneManager()\n\t\t\tconst timezoneList = getSortedTimezoneList(timezoneManager.listAllTimezones(), this.additionalTimezones)\n\t\t\t/**\n\t\t\t * Since NcSelect does not support groups,\n\t\t\t * we create an object with the grouped timezones and continent labels.\n\t\t\t *\n\t\t\t * NOTE for now we are removing the grouping from the fields to fix an accessibility issue\n\t\t\t * in the future, other options can be introduced to better display the different areas\n\t\t\t */\n\t\t\tlet timezonesGrouped = []\n\t\t\tObject.values(timezoneList).forEach(group => {\n\t\t\t\t// Add an entry as group label\n\t\t\t\t// timezonesGrouped.push({\n\t\t\t\t// label: group.continent,\n\t\t\t\t// timezoneId: `tz-group__${group.continent}`,\n\t\t\t\t// regions: group.regions,\n\t\t\t\t// })\n\t\t\t\ttimezonesGrouped = timezonesGrouped.concat(group.regions)\n\t\t\t})\n\t\t\treturn timezonesGrouped\n\t\t},\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tchange(newValue) {\n\t\t\tif (!newValue) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Two-way binding of the value prop. Use v-model=\"selectedTimezone\" for two-way binding\n\t\t\t */\n\t\t\tthis.$emit('input', newValue.timezoneId)\n\t\t},\n\n\t\t/**\n\t\t * Returns whether this is a continent label,\n\t\t * or an actual timezone. Continent labels are not selectable.\n\t\t *\n\t\t * @param {string} option The option\n\t\t * @return {boolean}\n\t\t */\n\t\tisSelectable(option) {\n\t\t\treturn !option.timezoneId.startsWith('tz-group__')\n\t\t},\n\n\t\t/**\n\t\t * Function to filter the timezone list.\n\t\t * We search in the timezoneId, so both continent and region names can be matched.\n\t\t *\n\t\t * @param {object} option The timezone option\n\t\t * @param {string} label The label of the timezone\n\t\t * @param {string} search The search string\n\t\t * @return {boolean}\n\t\t */\n\t\tfilterBy(option, label, search) {\n\t\t\t// We split the search term in case one searches \"<continent> <region>\".\n\t\t\tconst terms = search.trim().split(' ')\n\n\t\t\t// For the continent labels, we have to check if one region matches every search term.\n\t\t\tif (option.timezoneId.startsWith('tz-group__')) {\n\t\t\t\treturn option.regions.some(region => {\n\t\t\t\t\treturn this.matchTimezoneId(region.timezoneId, terms)\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// For a region, every search term must be found.\n\t\t\treturn this.matchTimezoneId(option.timezoneId, terms)\n\t\t},\n\n\t\tmatchTimezoneId(timezoneId, terms) {\n\t\t\treturn terms.every(term => timezoneId.toLowerCase().includes(term.toLowerCase()))\n\t\t},\n\t},\n}\n</script>\n"],"names":["getSortedTimezoneList","timezoneList","additionalTimezones","sortedByContinent","sortedList","timezoneId","components","continent","name","t","getReadableTimezoneName","additionalTimezone","label","a","b","timezoneManager","getTimezoneManager","initialized","initialize","logger","tzData","tzid","ics","_sfc_main","NcSelect","GenRandomId","timezonesGrouped","group","newValue","option","search","terms","region","term"],"mappings":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BO,SAASA,EAAsBC,IAAe,IAAIC,IAAsB,CAAA,GAAI;AAClF,QAAMC,IAAoB,CAAE,GACtBC,IAAa,CAAE;AAErB,aAAWC,KAAcJ,GAAc;AACtC,UAAMK,IAAaD,EAAW,MAAM,GAAG;AACvC,QAAI,CAACE,GAAWC,CAAI,IAAI,CAACF,EAAW,MAAK,GAAIA,EAAW,KAAK,GAAG,CAAC;AACjE,IAAKE,MACJA,IAAOD,GAEPA,IAAYE,EAAC,EAAC,QAAQ,IAGvBN,EAAkBI,CAAS,IAAIJ,EAAkBI,CAAS,KAAK;AAAA,MAC9D,WAAAA;AAAA,MACA,SAAS,CAAE;AAAA,IACX,GAEDJ,EAAkBI,CAAS,EAAE,QAAQ,KAAK;AAAA,MACzC,OAAOG,EAAwBF,CAAI;AAAA,MACnC,QAAQ,CAAE;AAAA,MACV,YAAAH;AAAA,IACH,CAAG;AAAA,EACD;AAED,aAAWM,KAAsBT,GAAqB;AACrD,UAAM,EAAE,WAAAK,GAAW,OAAAK,GAAO,YAAAP,EAAY,IAAGM;AAEzC,IAAAR,EAAkBI,CAAS,IAAIJ,EAAkBI,CAAS,KAAK;AAAA,MAC9D,WAAAA;AAAA,MACA,SAAS,CAAE;AAAA,IACX,GAEDJ,EAAkBI,CAAS,EAAE,QAAQ,KAAK;AAAA,MACzC,OAAAK;AAAA,MACA,QAAQ,CAAE;AAAA,MACV,YAAAP;AAAA,IACH,CAAG;AAAA,EACD;AAED,aAAWE,KAAaJ;AACvB,IAAK,OAAO,UAAU,eAAe,KAAKA,GAAmBI,CAAS,MAItEJ,EAAkBI,CAAS,EAAE,QAAQ,KAAK,CAACM,GAAGC,MACzCD,EAAE,QAAQC,EAAE,QACR,KAGD,CACP,GACDV,EAAW,KAAKD,EAAkBI,CAAS,CAAC;AAI7C,SAAAH,EAAW,KAAK,CAACS,GAAGC,MACfD,EAAE,YAAYC,EAAE,YACZ,KAGD,CACP,GAEMV;AACR;AAQO,SAASM,EAAwBL,GAAY;AACnD,SAAOA,EACL,MAAM,GAAG,EACT,KAAK,GAAG,EACR,QAAQ,OAAO,MAAM,EACrB,MAAM,GAAG,EACT,KAAK,KAAK;AACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"NcTimezonePicker-iD8mrVb_.cjs","sources":["../../src/components/NcTimezonePicker/timezone.js","../../src/components/NcTimezonePicker/timezoneDataProviderService.js","../../src/components/NcTimezonePicker/NcTimezonePicker.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.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 */\nimport { t } from '../../l10n.js'\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @return {Array}\n */\nexport function getSortedTimezoneList(timezoneList = [], additionalTimezones = []) {\n\tconst sortedByContinent = {}\n\tconst sortedList = []\n\n\tfor (const timezoneId of timezoneList) {\n\t\tconst components = timezoneId.split('/')\n\t\tlet [continent, name] = [components.shift(), components.join('/')]\n\t\tif (!name) {\n\t\t\tname = continent\n\t\t\t// TRANSLATORS This refers to global timezones in the timezone picker\n\t\t\tcontinent = t('Global')\n\t\t}\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel: getReadableTimezoneName(name),\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const additionalTimezone of additionalTimezones) {\n\t\tconst { continent, label, timezoneId } = additionalTimezone\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel,\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const continent in sortedByContinent) {\n\t\tif (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tsortedByContinent[continent].regions.sort((a, b) => {\n\t\t\tif (a.label < b.label) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\treturn 1\n\t\t})\n\t\tsortedList.push(sortedByContinent[continent])\n\t}\n\n\t// Sort continents by name\n\tsortedList.sort((a, b) => {\n\t\tif (a.continent < b.continent) {\n\t\t\treturn -1\n\t\t}\n\n\t\treturn 1\n\t})\n\n\treturn sortedList\n}\n\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @return {string}\n */\nexport function getReadableTimezoneName(timezoneId) {\n\treturn timezoneId\n\t\t.split('_')\n\t\t.join(' ')\n\t\t.replace('St ', 'St. ')\n\t\t.split('/')\n\t\t.join(' - ')\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.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 */\nimport tzData from '../../../resources/timezones/zones.json'\nimport logger from '../../utils/logger.js'\n\nimport { getTimezoneManager } from '@nextcloud/calendar-js'\n\nconst timezoneManager = getTimezoneManager()\nlet initialized = false\n\n/**\n * Gets the timezone-manager\n * initializes it if necessary\n *\n * @return {object}\n */\nexport default function() {\n\tif (!initialized) {\n\t\tinitialize()\n\t}\n\n\treturn timezoneManager\n}\n\n/**\n * Initializes the timezone-manager with all timezones shipped by the calendar app\n */\nfunction initialize() {\n\tlogger.debug(`Using version ${tzData.version} of the timezone database`)\n\n\tfor (const tzid in tzData.zones) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\tconst ics = [\n\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t'TZID:' + tzid,\n\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t'END:VTIMEZONE',\n\t\t\t].join('\\r\\n')\n\t\t\ttimezoneManager.registerTimezoneFromICS(tzid, ics)\n\t\t}\n\t}\n\n\tfor (const tzid in tzData.aliases) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\ttimezoneManager.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t}\n\t}\n\n\tinitialized = true\n}\n","<!--\n - @copyright Copyright (c) 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\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### Example\n```vue\n<template>\n\t<span>\n\t\t<NcTimezonePicker v-model=\"tz\" />\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttz: 'Hawaiian Standard Time',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcSelect :aria-label-combobox=\"t('Search for time zone')\"\n\t\t:clearable=\"false\"\n\t\t:filter-by=\"filterBy\"\n\t\t:multiple=\"false\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"placeholder\"\n\t\t:selectable=\"isSelectable\"\n\t\t:uid=\"uid\"\n\t\t:value=\"selectedTimezone\"\n\t\tlabel=\"label\"\n\t\t@option:selected=\"change\" />\n</template>\n\n<script>\nimport {\n\tgetReadableTimezoneName,\n\tgetSortedTimezoneList,\n} from './timezone.js'\nimport getTimezoneManager from './timezoneDataProviderService.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcSelect from '../NcSelect/index.js'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcTimezonePicker',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\t/**\n\t\t * An array of additional timezones to include with the standard database. Useful if there is a custom timezone, e.g. read from user data\n\t\t */\n\t\tadditionalTimezones: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\t/**\n\t\t * The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: 'floating',\n\t\t},\n\t\t/**\n\t\t * ID of the inner vue-select element, can be used for labels like: `vs-${uid}__combobox`\n\t\t */\n\t\tuid: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: () => `tz-${GenRandomId(5)}`,\n\t\t},\n\t},\n\temits: ['input'],\n\tcomputed: {\n\t\tplaceholder() {\n\t\t\treturn t('Type to search time zone')\n\t\t},\n\t\tselectedTimezone() {\n\t\t\tfor (const additionalTimezone of this.additionalTimezones) {\n\t\t\t\tif (additionalTimezone.timezoneId === this.value) {\n\t\t\t\t\treturn additionalTimezone\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tlabel: getReadableTimezoneName(this.value),\n\t\t\t\ttimezoneId: this.value,\n\t\t\t}\n\t\t},\n\t\toptions() {\n\t\t\tconst timezoneManager = getTimezoneManager()\n\t\t\tconst timezoneList = getSortedTimezoneList(timezoneManager.listAllTimezones(), this.additionalTimezones)\n\t\t\t/**\n\t\t\t * Since NcSelect does not support groups,\n\t\t\t * we create an object with the grouped timezones and continent labels.\n\t\t\t *\n\t\t\t * NOTE for now we are removing the grouping from the fields to fix an accessibility issue\n\t\t\t * in the future, other options can be introduced to better display the different areas\n\t\t\t */\n\t\t\tlet timezonesGrouped = []\n\t\t\tObject.values(timezoneList).forEach(group => {\n\t\t\t\t// Add an entry as group label\n\t\t\t\t// timezonesGrouped.push({\n\t\t\t\t// label: group.continent,\n\t\t\t\t// timezoneId: `tz-group__${group.continent}`,\n\t\t\t\t// regions: group.regions,\n\t\t\t\t// })\n\t\t\t\ttimezonesGrouped = timezonesGrouped.concat(group.regions)\n\t\t\t})\n\t\t\treturn timezonesGrouped\n\t\t},\n\t},\n\tmethods: {\n\t\tt,\n\n\t\tchange(newValue) {\n\t\t\tif (!newValue) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Two-way binding of the value prop. Use v-model=\"selectedTimezone\" for two-way binding\n\t\t\t */\n\t\t\tthis.$emit('input', newValue.timezoneId)\n\t\t},\n\n\t\t/**\n\t\t * Returns whether this is a continent label,\n\t\t * or an actual timezone. Continent labels are not selectable.\n\t\t *\n\t\t * @param {string} option The option\n\t\t * @return {boolean}\n\t\t */\n\t\tisSelectable(option) {\n\t\t\treturn !option.timezoneId.startsWith('tz-group__')\n\t\t},\n\n\t\t/**\n\t\t * Function to filter the timezone list.\n\t\t * We search in the timezoneId, so both continent and region names can be matched.\n\t\t *\n\t\t * @param {object} option The timezone option\n\t\t * @param {string} label The label of the timezone\n\t\t * @param {string} search The search string\n\t\t * @return {boolean}\n\t\t */\n\t\tfilterBy(option, label, search) {\n\t\t\t// We split the search term in case one searches \"<continent> <region>\".\n\t\t\tconst terms = search.trim().split(' ')\n\n\t\t\t// For the continent labels, we have to check if one region matches every search term.\n\t\t\tif (option.timezoneId.startsWith('tz-group__')) {\n\t\t\t\treturn option.regions.some(region => {\n\t\t\t\t\treturn this.matchTimezoneId(region.timezoneId, terms)\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// For a region, every search term must be found.\n\t\t\treturn this.matchTimezoneId(option.timezoneId, terms)\n\t\t},\n\n\t\tmatchTimezoneId(timezoneId, terms) {\n\t\t\treturn terms.every(term => timezoneId.toLowerCase().includes(term.toLowerCase()))\n\t\t},\n\t},\n}\n</script>\n"],"names":["t","getTimezoneManager","logger","NcSelect","GenRandomId","timezoneManager"],"mappings":";;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BO,SAAS,sBAAsB,eAAe,IAAI,sBAAsB,CAAA,GAAI;AAClF,QAAM,oBAAoB,CAAE;AAC5B,QAAM,aAAa,CAAE;AAErB,aAAW,cAAc,cAAc;AACtC,UAAM,aAAa,WAAW,MAAM,GAAG;AACvC,QAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,MAAK,GAAI,WAAW,KAAK,GAAG,CAAC;AACjE,QAAI,CAAC,MAAM;AACV,aAAO;AAEP,kBAAYA,MAAC,EAAC,QAAQ;AAAA,IACtB;AAED,sBAAkB,SAAS,IAAI,kBAAkB,SAAS,KAAK;AAAA,MAC9D;AAAA,MACA,SAAS,CAAE;AAAA,IACX;AAED,sBAAkB,SAAS,EAAE,QAAQ,KAAK;AAAA,MACzC,OAAO,wBAAwB,IAAI;AAAA,MACnC,QAAQ,CAAE;AAAA,MACV;AAAA,IACH,CAAG;AAAA,EACD;AAED,aAAW,sBAAsB,qBAAqB;AACrD,UAAM,EAAE,WAAW,OAAO,WAAY,IAAG;AAEzC,sBAAkB,SAAS,IAAI,kBAAkB,SAAS,KAAK;AAAA,MAC9D;AAAA,MACA,SAAS,CAAE;AAAA,IACX;AAED,sBAAkB,SAAS,EAAE,QAAQ,KAAK;AAAA,MACzC;AAAA,MACA,QAAQ,CAAE;AAAA,MACV;AAAA,IACH,CAAG;AAAA,EACD;AAED,aAAW,aAAa,mBAAmB;AAC1C,QAAI,CAAC,OAAO,UAAU,eAAe,KAAK,mBAAmB,SAAS,GAAG;AACxE;AAAA,IACA;AAED,sBAAkB,SAAS,EAAE,QAAQ,KAAK,CAAC,GAAG,MAAM;AACnD,UAAI,EAAE,QAAQ,EAAE,OAAO;AACtB,eAAO;AAAA,MACP;AAED,aAAO;AAAA,IACV,CAAG;AACD,eAAW,KAAK,kBAAkB,SAAS,CAAC;AAAA,EAC5C;AAGD,aAAW,KAAK,CAAC,GAAG,MAAM;AACzB,QAAI,EAAE,YAAY,EAAE,WAAW;AAC9B,aAAO;AAAA,IACP;AAED,WAAO;AAAA,EACT,CAAE;AAED,SAAO;AACR;AAQO,SAAS,wBAAwB,YAAY;AACnD,SAAO,WACL,MAAM,GAAG,EACT,KAAK,GAAG,EACR,QAAQ,OAAO,MAAM,EACrB,MAAM,GAAG,EACT,KAAK,KAAK;AACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,211 @@
1
+ import '../assets/NcUserBubble-D5ieZC-f.css';
2
+ import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
3
+ import { N as NcAvatar } from "./NcAvatar-CX3OX2C4.mjs";
4
+ import { N as NcPopover } from "./NcPopover-foxJPAfG.mjs";
5
+ import Vue from "vue";
6
+ const _sfc_main$1 = {
7
+ name: "NcUserBubbleDiv"
8
+ };
9
+ var _sfc_render$1 = function render() {
10
+ var _vm = this, _c = _vm._self._c;
11
+ return _c("div", [_vm._t("trigger")], 2);
12
+ };
13
+ var _sfc_staticRenderFns$1 = [];
14
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(
15
+ _sfc_main$1,
16
+ _sfc_render$1,
17
+ _sfc_staticRenderFns$1,
18
+ false,
19
+ null,
20
+ null,
21
+ null,
22
+ null
23
+ );
24
+ const NcUserBubbleDiv = __component__$1.exports;
25
+ const _sfc_main = {
26
+ name: "NcUserBubble",
27
+ components: {
28
+ NcAvatar,
29
+ NcPopover,
30
+ NcUserBubbleDiv
31
+ },
32
+ props: {
33
+ /**
34
+ * Override generated avatar, can be an url or an icon class
35
+ */
36
+ avatarImage: {
37
+ type: String,
38
+ default: void 0
39
+ },
40
+ /**
41
+ * Provide the user id if this is a user
42
+ */
43
+ user: {
44
+ type: String,
45
+ default: void 0
46
+ },
47
+ /**
48
+ * Displayed label
49
+ */
50
+ displayName: {
51
+ type: String,
52
+ default: void 0
53
+ },
54
+ /**
55
+ * Whether or not to display the user-status
56
+ */
57
+ showUserStatus: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ /**
62
+ * Define the whole bubble as a link
63
+ */
64
+ url: {
65
+ type: String,
66
+ default: void 0,
67
+ validator: (url) => {
68
+ var _a;
69
+ try {
70
+ url = new URL(url, ((_a = url == null ? void 0 : url.startsWith) == null ? void 0 : _a.call(url, "/")) ? window.location.href : void 0);
71
+ return true;
72
+ } catch (error) {
73
+ return false;
74
+ }
75
+ }
76
+ },
77
+ /**
78
+ * Default popover state. Requires the UserBubble
79
+ * to have some content to render inside the popover
80
+ */
81
+ open: {
82
+ type: Boolean,
83
+ default: false
84
+ },
85
+ /**
86
+ * Use the primary colour
87
+ */
88
+ primary: {
89
+ type: Boolean,
90
+ default: false
91
+ },
92
+ /**
93
+ * This is the height of the component
94
+ */
95
+ size: {
96
+ type: Number,
97
+ default: 20
98
+ },
99
+ /**
100
+ * This is the margin of the avatar (size - margin = avatar size)
101
+ */
102
+ margin: {
103
+ type: Number,
104
+ default: 2
105
+ }
106
+ },
107
+ emits: [
108
+ "click",
109
+ "update:open"
110
+ ],
111
+ computed: {
112
+ /**
113
+ * If userbubble is empty, let's NOT
114
+ * use the Popover component
115
+ * We need a component instead of a simple div here,
116
+ * because otherwise the trigger template will not be shown.
117
+ *
118
+ * @return {string} 'Popover' or 'UserBubbleDiv'
119
+ */
120
+ isPopoverComponent() {
121
+ return !this.popoverEmpty ? "NcPopover" : "NcUserBubbleDiv";
122
+ },
123
+ /**
124
+ * Is the provided avatar url valid or not
125
+ *
126
+ * @return {boolean}
127
+ */
128
+ isAvatarUrl() {
129
+ if (!this.avatarImage) {
130
+ return false;
131
+ }
132
+ try {
133
+ const url = new URL(this.avatarImage);
134
+ return !!url;
135
+ } catch (error) {
136
+ return false;
137
+ }
138
+ },
139
+ /**
140
+ * Do we have a custom avatar or not
141
+ *
142
+ * @return {boolean}
143
+ */
144
+ isCustomAvatar() {
145
+ return !!this.avatarImage;
146
+ },
147
+ hasUrl() {
148
+ return this.url && this.url.trim() !== "";
149
+ },
150
+ isLinkComponent() {
151
+ return this.hasUrl ? "a" : "div";
152
+ },
153
+ popoverEmpty() {
154
+ if ("default" in this.$slots) {
155
+ return false;
156
+ }
157
+ return true;
158
+ },
159
+ styles() {
160
+ return {
161
+ content: {
162
+ height: this.size + "px",
163
+ lineHeight: this.size + "px",
164
+ borderRadius: this.size / 2 + "px"
165
+ },
166
+ avatar: {
167
+ marginLeft: this.margin + "px"
168
+ }
169
+ };
170
+ }
171
+ },
172
+ mounted() {
173
+ if (!this.displayName && !this.user) {
174
+ Vue.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.");
175
+ }
176
+ },
177
+ methods: {
178
+ onOpenChange(state) {
179
+ this.$emit("update:open", state);
180
+ },
181
+ /**
182
+ * Catch and forward click event to parent
183
+ *
184
+ * @param {Event} event the click event
185
+ */
186
+ onClick(event) {
187
+ this.$emit("click", event);
188
+ }
189
+ }
190
+ };
191
+ var _sfc_render = function render2() {
192
+ var _vm = this, _c = _vm._self._c;
193
+ return _c(_vm.isPopoverComponent, { tag: "component", staticClass: "user-bubble__wrapper", attrs: { "trigger": "hover focus", "shown": _vm.open }, on: { "update:open": _vm.onOpenChange }, scopedSlots: _vm._u([{ key: "trigger", fn: function({ attrs }) {
194
+ return [_c(_vm.isLinkComponent, _vm._b({ tag: "component", staticClass: "user-bubble__content", class: { "user-bubble__content--primary": _vm.primary }, style: _vm.styles.content, attrs: { "href": _vm.hasUrl ? _vm.url : null }, on: { "click": _vm.onClick } }, "component", attrs, false), [_c("NcAvatar", { staticClass: "user-bubble__avatar", style: _vm.styles.avatar, attrs: { "url": _vm.isCustomAvatar && _vm.isAvatarUrl ? _vm.avatarImage : void 0, "icon-class": _vm.isCustomAvatar && !_vm.isAvatarUrl ? _vm.avatarImage : void 0, "user": _vm.user, "display-name": _vm.displayName, "size": _vm.size - _vm.margin * 2, "disable-tooltip": true, "disable-menu": true, "show-user-status": _vm.showUserStatus } }), _c("span", { staticClass: "user-bubble__name" }, [_vm._v(" " + _vm._s(_vm.displayName || _vm.user) + " ")]), _vm.$slots.name ? _c("span", { staticClass: "user-bubble__secondary" }, [_vm._t("name")], 2) : _vm._e()], 1)];
195
+ } }], null, true) }, [_vm._t("default")], 2);
196
+ };
197
+ var _sfc_staticRenderFns = [];
198
+ var __component__ = /* @__PURE__ */ normalizeComponent(
199
+ _sfc_main,
200
+ _sfc_render,
201
+ _sfc_staticRenderFns,
202
+ false,
203
+ null,
204
+ "8f0fbaf1",
205
+ null,
206
+ null
207
+ );
208
+ const NcUserBubble = __component__.exports;
209
+ export {
210
+ NcUserBubble as N
211
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserBubble-BadEJRgs.cjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\n -\n - @license GNU AGPL version 3 or any later version\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Displayed label\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","NcUserBubbleDiv","url","_a","Vue","state","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcUserBubble-BJp-ZBGW.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\n -\n - @license GNU AGPL version 3 or any later version\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Displayed label\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main"],"mappings":";;;;AA4BA,MAAAA,cAAA;AAAA,EACA,MAAA;AACA;;;;;;;;;;;;;;;;;ACkGA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,QAAA;;AACA,YAAA;AACA,gBAAA,IAAA,IAAA,OAAA,gCAAA,eAAA,6BAAA,QAAA,OAAA,SAAA,OAAA,MAAA;AACA,iBAAA;AAAA,QACA,SAAA,OAAA;AACA,iBAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,qBAAA;AACA,aAAA,CAAA,KAAA,eACA,cACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAA;AACA,UAAA,CAAA,KAAA,aAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA;AACA,cAAA,MAAA,IAAA,IAAA,KAAA,WAAA;AACA,eAAA,CAAA,CAAA;AAAA,MACA,SAAA,OAAA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AACA,aAAA,CAAA,CAAA,KAAA;AAAA,IACA;AAAA,IAEA,SAAA;AACA,aAAA,KAAA,OAAA,KAAA,IAAA,KAAA,MAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AACA,aAAA,KAAA,SAAA,MAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,UAAA,aAAA,KAAA,QAAA;AACA,eAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IAEA,SAAA;AACA,aAAA;AAAA,QACA,SAAA;AAAA,UACA,QAAA,KAAA,OAAA;AAAA,UACA,YAAA,KAAA,OAAA;AAAA,UACA,cAAA,KAAA,OAAA,IAAA;AAAA,QACA;AAAA,QACA,QAAA;AAAA,UACA,YAAA,KAAA,SAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AACA,QAAA,CAAA,KAAA,eAAA,CAAA,KAAA,MAAA;AACA,UAAA,KAAA,KAAA,yEAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,aAAA,OAAA;AACA,WAAA,MAAA,eAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,212 @@
1
+ require('../assets/NcUserBubble-D5ieZC-f.css');
2
+ "use strict";
3
+ const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-DbFIE4_M.cjs");
4
+ const NcAvatar = require("./NcAvatar-CYzikYku.cjs");
5
+ const NcPopover = require("./NcPopover-BS1bBSkg.cjs");
6
+ const Vue = require("vue");
7
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
+ const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
9
+ const _sfc_main$1 = {
10
+ name: "NcUserBubbleDiv"
11
+ };
12
+ var _sfc_render$1 = function render() {
13
+ var _vm = this, _c = _vm._self._c;
14
+ return _c("div", [_vm._t("trigger")], 2);
15
+ };
16
+ var _sfc_staticRenderFns$1 = [];
17
+ var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
18
+ _sfc_main$1,
19
+ _sfc_render$1,
20
+ _sfc_staticRenderFns$1,
21
+ false,
22
+ null,
23
+ null,
24
+ null,
25
+ null
26
+ );
27
+ const NcUserBubbleDiv = __component__$1.exports;
28
+ const _sfc_main = {
29
+ name: "NcUserBubble",
30
+ components: {
31
+ NcAvatar: NcAvatar.NcAvatar,
32
+ NcPopover: NcPopover.NcPopover,
33
+ NcUserBubbleDiv
34
+ },
35
+ props: {
36
+ /**
37
+ * Override generated avatar, can be an url or an icon class
38
+ */
39
+ avatarImage: {
40
+ type: String,
41
+ default: void 0
42
+ },
43
+ /**
44
+ * Provide the user id if this is a user
45
+ */
46
+ user: {
47
+ type: String,
48
+ default: void 0
49
+ },
50
+ /**
51
+ * Displayed label
52
+ */
53
+ displayName: {
54
+ type: String,
55
+ default: void 0
56
+ },
57
+ /**
58
+ * Whether or not to display the user-status
59
+ */
60
+ showUserStatus: {
61
+ type: Boolean,
62
+ default: false
63
+ },
64
+ /**
65
+ * Define the whole bubble as a link
66
+ */
67
+ url: {
68
+ type: String,
69
+ default: void 0,
70
+ validator: (url) => {
71
+ var _a;
72
+ try {
73
+ url = new URL(url, ((_a = url == null ? void 0 : url.startsWith) == null ? void 0 : _a.call(url, "/")) ? window.location.href : void 0);
74
+ return true;
75
+ } catch (error) {
76
+ return false;
77
+ }
78
+ }
79
+ },
80
+ /**
81
+ * Default popover state. Requires the UserBubble
82
+ * to have some content to render inside the popover
83
+ */
84
+ open: {
85
+ type: Boolean,
86
+ default: false
87
+ },
88
+ /**
89
+ * Use the primary colour
90
+ */
91
+ primary: {
92
+ type: Boolean,
93
+ default: false
94
+ },
95
+ /**
96
+ * This is the height of the component
97
+ */
98
+ size: {
99
+ type: Number,
100
+ default: 20
101
+ },
102
+ /**
103
+ * This is the margin of the avatar (size - margin = avatar size)
104
+ */
105
+ margin: {
106
+ type: Number,
107
+ default: 2
108
+ }
109
+ },
110
+ emits: [
111
+ "click",
112
+ "update:open"
113
+ ],
114
+ computed: {
115
+ /**
116
+ * If userbubble is empty, let's NOT
117
+ * use the Popover component
118
+ * We need a component instead of a simple div here,
119
+ * because otherwise the trigger template will not be shown.
120
+ *
121
+ * @return {string} 'Popover' or 'UserBubbleDiv'
122
+ */
123
+ isPopoverComponent() {
124
+ return !this.popoverEmpty ? "NcPopover" : "NcUserBubbleDiv";
125
+ },
126
+ /**
127
+ * Is the provided avatar url valid or not
128
+ *
129
+ * @return {boolean}
130
+ */
131
+ isAvatarUrl() {
132
+ if (!this.avatarImage) {
133
+ return false;
134
+ }
135
+ try {
136
+ const url = new URL(this.avatarImage);
137
+ return !!url;
138
+ } catch (error) {
139
+ return false;
140
+ }
141
+ },
142
+ /**
143
+ * Do we have a custom avatar or not
144
+ *
145
+ * @return {boolean}
146
+ */
147
+ isCustomAvatar() {
148
+ return !!this.avatarImage;
149
+ },
150
+ hasUrl() {
151
+ return this.url && this.url.trim() !== "";
152
+ },
153
+ isLinkComponent() {
154
+ return this.hasUrl ? "a" : "div";
155
+ },
156
+ popoverEmpty() {
157
+ if ("default" in this.$slots) {
158
+ return false;
159
+ }
160
+ return true;
161
+ },
162
+ styles() {
163
+ return {
164
+ content: {
165
+ height: this.size + "px",
166
+ lineHeight: this.size + "px",
167
+ borderRadius: this.size / 2 + "px"
168
+ },
169
+ avatar: {
170
+ marginLeft: this.margin + "px"
171
+ }
172
+ };
173
+ }
174
+ },
175
+ mounted() {
176
+ if (!this.displayName && !this.user) {
177
+ Vue__default.default.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.");
178
+ }
179
+ },
180
+ methods: {
181
+ onOpenChange(state) {
182
+ this.$emit("update:open", state);
183
+ },
184
+ /**
185
+ * Catch and forward click event to parent
186
+ *
187
+ * @param {Event} event the click event
188
+ */
189
+ onClick(event) {
190
+ this.$emit("click", event);
191
+ }
192
+ }
193
+ };
194
+ var _sfc_render = function render2() {
195
+ var _vm = this, _c = _vm._self._c;
196
+ return _c(_vm.isPopoverComponent, { tag: "component", staticClass: "user-bubble__wrapper", attrs: { "trigger": "hover focus", "shown": _vm.open }, on: { "update:open": _vm.onOpenChange }, scopedSlots: _vm._u([{ key: "trigger", fn: function({ attrs }) {
197
+ return [_c(_vm.isLinkComponent, _vm._b({ tag: "component", staticClass: "user-bubble__content", class: { "user-bubble__content--primary": _vm.primary }, style: _vm.styles.content, attrs: { "href": _vm.hasUrl ? _vm.url : null }, on: { "click": _vm.onClick } }, "component", attrs, false), [_c("NcAvatar", { staticClass: "user-bubble__avatar", style: _vm.styles.avatar, attrs: { "url": _vm.isCustomAvatar && _vm.isAvatarUrl ? _vm.avatarImage : void 0, "icon-class": _vm.isCustomAvatar && !_vm.isAvatarUrl ? _vm.avatarImage : void 0, "user": _vm.user, "display-name": _vm.displayName, "size": _vm.size - _vm.margin * 2, "disable-tooltip": true, "disable-menu": true, "show-user-status": _vm.showUserStatus } }), _c("span", { staticClass: "user-bubble__name" }, [_vm._v(" " + _vm._s(_vm.displayName || _vm.user) + " ")]), _vm.$slots.name ? _c("span", { staticClass: "user-bubble__secondary" }, [_vm._t("name")], 2) : _vm._e()], 1)];
198
+ } }], null, true) }, [_vm._t("default")], 2);
199
+ };
200
+ var _sfc_staticRenderFns = [];
201
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
202
+ _sfc_main,
203
+ _sfc_render,
204
+ _sfc_staticRenderFns,
205
+ false,
206
+ null,
207
+ "8f0fbaf1",
208
+ null,
209
+ null
210
+ );
211
+ const NcUserBubble = __component__.exports;
212
+ exports.NcUserBubble = NcUserBubble;
@@ -1 +1 @@
1
- {"version":3,"file":"NcUserBubble-C0HbPO9p.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\n -\n - @license GNU AGPL version 3 or any later version\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Displayed label\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","NcUserBubbleDiv","url","_a","Vue","state","event"],"mappings":"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"}
1
+ {"version":3,"file":"NcUserBubble-BsQJPVXD.cjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\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<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcUserBubbleDiv',\n}\n</script>\n","<!--\n - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n - @author Jonas Sulzer <jonas@violoncello.ch>\n -\n - @license GNU AGPL version 3 or any later version\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<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:margin=\"4\"\n\t:size=\"30\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<a href=\"#\"\n\t\t\ttitle=\"Remove user\"\n\t\t\tclass=\"icon-close\"\n\t\t\t@click=\"alert\" />\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nexport default {\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n<style>\n.icon-close {\n\tdisplay: block;\n\theight: 100%;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<component :is=\"isPopoverComponent\"\n\t\ttrigger=\"hover focus\"\n\t\t:shown=\"open\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\t@update:open=\"onOpenChange\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component :is=\"isLinkComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:style=\"styles.content\"\n\t\t\t\t:href=\"hasUrl ? url : null\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"onClick\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar :url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:icon-class=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:display-name=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"styles.avatar\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<!-- @slot Optional slot just after the name -->\n\t\t\t\t<span v-if=\"$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<!-- @slot Main Popover content on userbubble hover/focus -->\n\t\t<slot />\n\t</component>\n</template>\n\n<script>\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport Vue from 'vue'\n\nexport default {\n\tname: 'NcUserBubble',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcPopover,\n\t\tNcUserBubbleDiv,\n\t},\n\tprops: {\n\t\t/**\n\t\t * Override generated avatar, can be an url or an icon class\n\t\t */\n\t\tavatarImage: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Provide the user id if this is a user\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Displayed label\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Define the whole bubble as a link\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\tvalidator: (url) => {\n\t\t\t\ttry {\n\t\t\t\t\turl = new URL(url, url?.startsWith?.('/') ? window.location.href : undefined)\n\t\t\t\t\treturn true\n\t\t\t\t} catch (error) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Default popover state. Requires the UserBubble\n\t\t * to have some content to render inside the popover\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Use the primary colour\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * This is the height of the component\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 20,\n\t\t},\n\t\t/**\n\t\t * This is the margin of the avatar (size - margin = avatar size)\n\t\t */\n\t\tmargin: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2,\n\t\t},\n\t},\n\temits: [\n\t\t'click',\n\t\t'update:open',\n\t],\n\tcomputed: {\n\t\t/**\n\t\t * If userbubble is empty, let's NOT\n\t\t * use the Popover component\n\t\t * We need a component instead of a simple div here,\n\t\t * because otherwise the trigger template will not be shown.\n\t\t *\n\t\t * @return {string} 'Popover' or 'UserBubbleDiv'\n\t\t */\n\t\tisPopoverComponent() {\n\t\t\treturn !this.popoverEmpty\n\t\t\t\t? 'NcPopover'\n\t\t\t\t: 'NcUserBubbleDiv'\n\t\t},\n\n\t\t/**\n\t\t * Is the provided avatar url valid or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisAvatarUrl() {\n\t\t\tif (!this.avatarImage) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst url = new URL(this.avatarImage)\n\t\t\t\treturn !!url\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Do we have a custom avatar or not\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisCustomAvatar() {\n\t\t\treturn !!this.avatarImage\n\t\t},\n\n\t\thasUrl() {\n\t\t\treturn this.url && this.url.trim() !== ''\n\t\t},\n\n\t\tisLinkComponent() {\n\t\t\treturn this.hasUrl ? 'a' : 'div'\n\t\t},\n\n\t\tpopoverEmpty() {\n\t\t\tif ('default' in this.$slots) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\tstyles() {\n\t\t\treturn {\n\t\t\t\tcontent: {\n\t\t\t\t\theight: this.size + 'px',\n\t\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\t\tborderRadius: this.size / 2 + 'px',\n\t\t\t\t},\n\t\t\t\tavatar: {\n\t\t\t\t\tmarginLeft: this.margin + 'px',\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tif (!this.displayName && !this.user) {\n\t\t\tVue.util.warn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t\t}\n\t},\n\tmethods: {\n\t\tonOpenChange(state) {\n\t\t\tthis.$emit('update:open', state)\n\t\t},\n\t\t/**\n\t\t * Catch and forward click event to parent\n\t\t *\n\t\t * @param {Event} event the click event\n\t\t */\n\t\tonClick(event) {\n\t\t\tthis.$emit('click', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","NcAvatar","NcPopover","Vue"],"mappings":"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"}