@nextcloud/vue 3.10.2 → 4.1.1

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 (290) hide show
  1. package/CHANGELOG.md +114 -19
  2. package/README.md +9 -10
  3. package/dist/Components/ActionButton.js +24 -3
  4. package/dist/Components/ActionButton.js.map +1 -1
  5. package/dist/Components/ActionCaption.js +23 -0
  6. package/dist/Components/ActionCaption.js.map +1 -0
  7. package/dist/Components/ActionCheckbox.js +24 -3
  8. package/dist/Components/ActionCheckbox.js.map +1 -1
  9. package/dist/Components/ActionInput.js +124 -21
  10. package/dist/Components/ActionInput.js.map +1 -1
  11. package/dist/Components/ActionLink.js +24 -3
  12. package/dist/Components/ActionLink.js.map +1 -1
  13. package/dist/Components/ActionRadio.js +24 -3
  14. package/dist/Components/ActionRadio.js.map +1 -1
  15. package/dist/Components/ActionRouter.js +23 -2
  16. package/dist/Components/ActionRouter.js.map +1 -1
  17. package/dist/Components/ActionSeparator.js +1 -1
  18. package/dist/Components/ActionSeparator.js.map +1 -1
  19. package/dist/Components/ActionText.js +23 -2
  20. package/dist/Components/ActionText.js.map +1 -1
  21. package/dist/Components/ActionTextEditable.js +45 -3
  22. package/dist/Components/ActionTextEditable.js.map +1 -1
  23. package/dist/Components/Actions.js +25 -4
  24. package/dist/Components/Actions.js.map +1 -1
  25. package/dist/Components/AppContent.js +21 -1
  26. package/dist/Components/AppContent.js.map +1 -1
  27. package/dist/Components/AppContentDetails.js +1 -1
  28. package/dist/Components/AppContentDetails.js.map +1 -1
  29. package/dist/Components/AppContentList.js +1 -1
  30. package/dist/Components/AppContentList.js.map +1 -1
  31. package/dist/Components/AppNavigation.js +109 -2
  32. package/dist/Components/AppNavigation.js.map +1 -1
  33. package/dist/Components/AppNavigationCaption.js +66 -1
  34. package/dist/Components/AppNavigationCaption.js.map +1 -1
  35. package/dist/Components/AppNavigationCounter.js +2 -2
  36. package/dist/Components/AppNavigationCounter.js.map +1 -1
  37. package/dist/Components/AppNavigationIconBullet.js +2 -2
  38. package/dist/Components/AppNavigationIconBullet.js.map +1 -1
  39. package/dist/Components/AppNavigationItem.js +49 -7
  40. package/dist/Components/AppNavigationItem.js.map +1 -1
  41. package/dist/Components/AppNavigationNew.js +1 -1
  42. package/dist/Components/AppNavigationNew.js.map +1 -1
  43. package/dist/Components/AppNavigationNewItem.js +2 -2
  44. package/dist/Components/AppNavigationNewItem.js.map +1 -1
  45. package/dist/Components/AppNavigationSettings.js +5 -5
  46. package/dist/Components/AppNavigationSettings.js.map +1 -1
  47. package/dist/Components/AppNavigationSpacer.js +1 -1
  48. package/dist/Components/AppNavigationSpacer.js.map +1 -1
  49. package/dist/Components/AppNavigationToggle.js +109 -2
  50. package/dist/Components/AppNavigationToggle.js.map +1 -1
  51. package/dist/Components/AppSettingsDialog.js +64 -22
  52. package/dist/Components/AppSettingsDialog.js.map +1 -1
  53. package/dist/Components/AppSettingsSection.js +1 -1
  54. package/dist/Components/AppSettingsSection.js.map +1 -1
  55. package/dist/Components/AppSidebar.js +38 -17
  56. package/dist/Components/AppSidebar.js.map +1 -1
  57. package/dist/Components/AppSidebarTab.js +1 -1
  58. package/dist/Components/AppSidebarTab.js.map +1 -1
  59. package/dist/Components/Avatar.js +9 -10
  60. package/dist/Components/Avatar.js.map +1 -1
  61. package/dist/Components/Breadcrumb.js +33 -12
  62. package/dist/Components/Breadcrumb.js.map +1 -1
  63. package/dist/Components/Breadcrumbs.js +59 -17
  64. package/dist/Components/Breadcrumbs.js.map +1 -1
  65. package/dist/Components/CheckboxRadioSwitch.js +44 -0
  66. package/dist/Components/CheckboxRadioSwitch.js.map +1 -0
  67. package/dist/Components/ColorPicker.js +6 -7
  68. package/dist/Components/ColorPicker.js.map +1 -1
  69. package/dist/Components/Content.js +2 -2
  70. package/dist/Components/Content.js.map +1 -1
  71. package/dist/Components/CounterBubble.js +23 -0
  72. package/dist/Components/CounterBubble.js.map +1 -0
  73. package/dist/Components/DatetimePicker.js +341 -3
  74. package/dist/Components/DatetimePicker.js.map +1 -1
  75. package/dist/Components/EmojiPicker.js +14 -14
  76. package/dist/Components/EmojiPicker.js.map +1 -1
  77. package/dist/Components/EmptyContent.js +2 -2
  78. package/dist/Components/EmptyContent.js.map +1 -1
  79. package/dist/Components/Highlight.js +3 -3
  80. package/dist/Components/Highlight.js.map +1 -1
  81. package/dist/Components/ListItem.js +130 -0
  82. package/dist/Components/ListItem.js.map +1 -0
  83. package/dist/Components/ListItemIcon.js +20 -21
  84. package/dist/Components/ListItemIcon.js.map +1 -1
  85. package/dist/Components/Modal.js +53 -11
  86. package/dist/Components/Modal.js.map +1 -1
  87. package/dist/Components/Multiselect.js +22 -23
  88. package/dist/Components/Multiselect.js.map +1 -1
  89. package/dist/Components/MultiselectTags.js +24 -25
  90. package/dist/Components/MultiselectTags.js.map +1 -1
  91. package/dist/Components/Popover.js +2 -2
  92. package/dist/Components/Popover.js.map +1 -1
  93. package/dist/Components/PopoverMenu.js +1 -1
  94. package/dist/Components/PopoverMenu.js.map +1 -1
  95. package/dist/Components/ProgressBar.js +2 -2
  96. package/dist/Components/ProgressBar.js.map +1 -1
  97. package/dist/Components/RichContenteditable.js +2 -2
  98. package/dist/Components/RichContenteditable.js.map +1 -1
  99. package/dist/Components/SettingsInputText.js +22 -1
  100. package/dist/Components/SettingsInputText.js.map +1 -1
  101. package/dist/Components/SettingsSection.js +2 -2
  102. package/dist/Components/SettingsSection.js.map +1 -1
  103. package/dist/Components/SettingsSelectGroup.js +41 -21
  104. package/dist/Components/SettingsSelectGroup.js.map +1 -1
  105. package/dist/Components/TimezonePicker.js +340 -0
  106. package/dist/Components/TimezonePicker.js.map +1 -0
  107. package/dist/Components/UserBubble.js +35 -36
  108. package/dist/Components/UserBubble.js.map +1 -1
  109. package/dist/Directives/Focus.js +1 -1
  110. package/dist/Directives/Focus.js.map +1 -1
  111. package/dist/Directives/Linkify.js +1 -1
  112. package/dist/Directives/Linkify.js.map +1 -1
  113. package/dist/Directives/Tooltip.js +2 -2
  114. package/dist/Directives/Tooltip.js.map +1 -1
  115. package/dist/Functions/usernameToColor.js +2 -3
  116. package/dist/Functions/usernameToColor.js.map +1 -1
  117. package/dist/Mixins/excludeClickOutsideClasses.js +2 -2
  118. package/dist/Mixins/excludeClickOutsideClasses.js.map +1 -1
  119. package/dist/Mixins/isFullscreen.js +1 -1
  120. package/dist/Mixins/isFullscreen.js.map +1 -1
  121. package/dist/Mixins/isMobile.js +1 -1
  122. package/dist/Mixins/isMobile.js.map +1 -1
  123. package/dist/Mixins/richEditor.js +1 -1
  124. package/dist/Mixins/richEditor.js.map +1 -1
  125. package/dist/ncvuecomponents.js +276 -69
  126. package/dist/ncvuecomponents.js.map +1 -1
  127. package/package.json +28 -43
  128. package/src/assets/action.scss +0 -132
  129. package/src/assets/iconfont/README.md +0 -30
  130. package/src/assets/iconfont/arrow-left-double.svg +0 -3
  131. package/src/assets/iconfont/arrow-left.svg +0 -3
  132. package/src/assets/iconfont/arrow-right-double.svg +0 -3
  133. package/src/assets/iconfont/arrow-right.svg +0 -3
  134. package/src/assets/iconfont/breadcrumb.svg +0 -1
  135. package/src/assets/iconfont/checkmark.svg +0 -1
  136. package/src/assets/iconfont/close.svg +0 -1
  137. package/src/assets/iconfont/confirm.svg +0 -1
  138. package/src/assets/iconfont/info.svg +0 -1
  139. package/src/assets/iconfont/menu.svg +0 -1
  140. package/src/assets/iconfont/more.svg +0 -1
  141. package/src/assets/iconfont/pause.svg +0 -1
  142. package/src/assets/iconfont/play.svg +0 -1
  143. package/src/assets/iconfont/triangle-s.svg +0 -1
  144. package/src/assets/iconfont/user-status-away.svg +0 -2
  145. package/src/assets/iconfont/user-status-dnd.svg +0 -2
  146. package/src/assets/iconfont/user-status-invisible.svg +0 -2
  147. package/src/assets/iconfont/user-status-online.svg +0 -2
  148. package/src/assets/inputs.scss +0 -104
  149. package/src/assets/variables.scss +0 -57
  150. package/src/components/ActionButton/ActionButton.vue +0 -160
  151. package/src/components/ActionButton/index.js +0 -24
  152. package/src/components/ActionCheckbox/ActionCheckbox.vue +0 -220
  153. package/src/components/ActionCheckbox/index.js +0 -24
  154. package/src/components/ActionInput/ActionInput.vue +0 -418
  155. package/src/components/ActionInput/index.js +0 -24
  156. package/src/components/ActionLink/ActionLink.vue +0 -132
  157. package/src/components/ActionLink/index.js +0 -24
  158. package/src/components/ActionRadio/ActionRadio.vue +0 -219
  159. package/src/components/ActionRadio/index.js +0 -24
  160. package/src/components/ActionRouter/ActionRouter.vue +0 -100
  161. package/src/components/ActionRouter/index.js +0 -24
  162. package/src/components/ActionSeparator/ActionSeparator.vue +0 -43
  163. package/src/components/ActionSeparator/index.js +0 -24
  164. package/src/components/ActionText/ActionText.vue +0 -87
  165. package/src/components/ActionText/index.js +0 -24
  166. package/src/components/ActionTextEditable/ActionTextEditable.vue +0 -306
  167. package/src/components/ActionTextEditable/index.js +0 -24
  168. package/src/components/Actions/Actions.vue +0 -764
  169. package/src/components/Actions/index.js +0 -24
  170. package/src/components/AppContent/AppContent.vue +0 -93
  171. package/src/components/AppContent/index.js +0 -23
  172. package/src/components/AppContentDetails/AppContentDetails.vue +0 -34
  173. package/src/components/AppContentDetails/index.js +0 -23
  174. package/src/components/AppContentList/AppContentList.vue +0 -44
  175. package/src/components/AppContentList/index.js +0 -23
  176. package/src/components/AppNavigation/AppNavigation.vue +0 -190
  177. package/src/components/AppNavigation/index.js +0 -23
  178. package/src/components/AppNavigationCaption/AppNavigationCaption.vue +0 -39
  179. package/src/components/AppNavigationCaption/index.js +0 -3
  180. package/src/components/AppNavigationCounter/AppNavigationCounter.vue +0 -82
  181. package/src/components/AppNavigationCounter/index.js +0 -25
  182. package/src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue +0 -95
  183. package/src/components/AppNavigationIconBullet/index.js +0 -24
  184. package/src/components/AppNavigationItem/AppNavigationIconCollapsible.vue +0 -90
  185. package/src/components/AppNavigationItem/AppNavigationItem.vue +0 -629
  186. package/src/components/AppNavigationItem/InputConfirmCancel.vue +0 -134
  187. package/src/components/AppNavigationItem/index.js +0 -24
  188. package/src/components/AppNavigationNew/AppNavigationNew.vue +0 -76
  189. package/src/components/AppNavigationNew/index.js +0 -23
  190. package/src/components/AppNavigationNewItem/AppNavigationNewItem.vue +0 -165
  191. package/src/components/AppNavigationNewItem/index.js +0 -24
  192. package/src/components/AppNavigationSettings/AppNavigationSettings.vue +0 -105
  193. package/src/components/AppNavigationSettings/index.js +0 -23
  194. package/src/components/AppNavigationSpacer/AppNavigationSpacer.vue +0 -39
  195. package/src/components/AppNavigationSpacer/index.js +0 -23
  196. package/src/components/AppNavigationToggle/AppNavigationToggle.vue +0 -78
  197. package/src/components/AppNavigationToggle/index.js +0 -24
  198. package/src/components/AppSettingsDialog/AppSettingsDialog.vue +0 -331
  199. package/src/components/AppSettingsDialog/index.js +0 -25
  200. package/src/components/AppSettingsSection/AppSettingsSection.vue +0 -64
  201. package/src/components/AppSettingsSection/index.js +0 -25
  202. package/src/components/AppSidebar/AppSidebar.vue +0 -802
  203. package/src/components/AppSidebar/AppSidebarTabs.vue +0 -348
  204. package/src/components/AppSidebar/index.js +0 -23
  205. package/src/components/AppSidebarTab/AppSidebarTab.vue +0 -103
  206. package/src/components/AppSidebarTab/index.js +0 -23
  207. package/src/components/Avatar/Avatar.vue +0 -758
  208. package/src/components/Avatar/index.js +0 -25
  209. package/src/components/Breadcrumb/Breadcrumb.vue +0 -262
  210. package/src/components/Breadcrumb/index.js +0 -25
  211. package/src/components/Breadcrumbs/Breadcrumbs.vue +0 -537
  212. package/src/components/Breadcrumbs/index.js +0 -25
  213. package/src/components/ColorPicker/ColorPicker.vue +0 -380
  214. package/src/components/ColorPicker/index.js +0 -25
  215. package/src/components/Content/Content.vue +0 -77
  216. package/src/components/Content/index.js +0 -23
  217. package/src/components/DatetimePicker/DatetimePicker.vue +0 -195
  218. package/src/components/DatetimePicker/index.js +0 -28
  219. package/src/components/DatetimePicker/index.scss +0 -405
  220. package/src/components/EmojiPicker/EmojiPicker.vue +0 -302
  221. package/src/components/EmojiPicker/index.js +0 -23
  222. package/src/components/EmptyContent/EmptyContent.vue +0 -120
  223. package/src/components/EmptyContent/index.js +0 -24
  224. package/src/components/Highlight/Highlight.vue +0 -183
  225. package/src/components/Highlight/index.js +0 -25
  226. package/src/components/ListItemIcon/ListItemIcon.vue +0 -277
  227. package/src/components/ListItemIcon/index.js +0 -25
  228. package/src/components/Modal/Modal.vue +0 -833
  229. package/src/components/Modal/index.js +0 -27
  230. package/src/components/Multiselect/EllipsisedOption.vue +0 -141
  231. package/src/components/Multiselect/Multiselect.vue +0 -430
  232. package/src/components/Multiselect/index.js +0 -28
  233. package/src/components/Multiselect/index.scss +0 -290
  234. package/src/components/MultiselectTags/MultiselectTags.vue +0 -179
  235. package/src/components/MultiselectTags/api.js +0 -115
  236. package/src/components/MultiselectTags/index.js +0 -23
  237. package/src/components/Popover/Popover.vue +0 -208
  238. package/src/components/Popover/index.js +0 -25
  239. package/src/components/PopoverMenu/PopoverMenu.vue +0 -62
  240. package/src/components/PopoverMenu/PopoverMenuItem.vue +0 -382
  241. package/src/components/PopoverMenu/index.js +0 -24
  242. package/src/components/ProgressBar/ProgressBar.vue +0 -135
  243. package/src/components/ProgressBar/index.js +0 -25
  244. package/src/components/RichContenteditable/AutoCompleteResult.vue +0 -191
  245. package/src/components/RichContenteditable/MentionBubble.vue +0 -165
  246. package/src/components/RichContenteditable/RichContenteditable.vue +0 -517
  247. package/src/components/RichContenteditable/index.js +0 -25
  248. package/src/components/SettingsInputText/SettingsInputText.vue +0 -207
  249. package/src/components/SettingsInputText/index.js +0 -24
  250. package/src/components/SettingsSection/SettingsSection.vue +0 -151
  251. package/src/components/SettingsSection/index.js +0 -24
  252. package/src/components/SettingsSelectGroup/SettingsSelectGroup.vue +0 -149
  253. package/src/components/SettingsSelectGroup/index.js +0 -25
  254. package/src/components/UserBubble/UserBubble.vue +0 -319
  255. package/src/components/UserBubble/index.js +0 -25
  256. package/src/components/index.js +0 -110
  257. package/src/directives/Focus/index.js +0 -29
  258. package/src/directives/Linkify/index.js +0 -31
  259. package/src/directives/Tooltip/index.js +0 -32
  260. package/src/directives/Tooltip/index.scss +0 -117
  261. package/src/directives/index.js +0 -31
  262. package/src/fonts/iconfont-vue-f56d517.eot +0 -0
  263. package/src/fonts/iconfont-vue-f56d517.svg +0 -1
  264. package/src/fonts/iconfont-vue-f56d517.ttf +0 -0
  265. package/src/fonts/iconfont-vue-f56d517.woff +0 -0
  266. package/src/fonts/scss/iconfont-vue.scss +0 -115
  267. package/src/functions/usernameToColor/index.js +0 -25
  268. package/src/functions/usernameToColor/usernameToColor.js +0 -68
  269. package/src/index.js +0 -40
  270. package/src/l10n.js +0 -42
  271. package/src/mixins/actionGlobal.js +0 -59
  272. package/src/mixins/actionText.js +0 -85
  273. package/src/mixins/excludeClickOutsideClasses/index.js +0 -72
  274. package/src/mixins/index.js +0 -35
  275. package/src/mixins/isFullscreen/index.js +0 -46
  276. package/src/mixins/isMobile/index.js +0 -43
  277. package/src/mixins/l10n.js +0 -8
  278. package/src/mixins/richEditor/index.js +0 -160
  279. package/src/mixins/userStatus.js +0 -76
  280. package/src/utils/FindRanges.js +0 -47
  281. package/src/utils/GenColors.js +0 -79
  282. package/src/utils/GenRandomId.js +0 -31
  283. package/src/utils/GetChildren.js +0 -47
  284. package/src/utils/GetParent.js +0 -41
  285. package/src/utils/IsMobileState.js +0 -49
  286. package/src/utils/IsOutOfViewport.js +0 -36
  287. package/src/utils/ScopeComponent.js +0 -37
  288. package/src/utils/Timer.js +0 -61
  289. package/src/utils/ValidateChildren.js +0 -50
  290. package/src/utils/ValidateSlot.js +0 -57
@@ -1,25 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2019 Greta Doci <gretadoci@gmail.com>
3
- *
4
- * @author Greta Doci <gretadoci@gmail.com>
5
- *
6
- * @license GNU AGPL version 3 or any later version
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU Affero General Public License as
10
- * published by the Free Software Foundation, either version 3 of the
11
- * License, or (at your option) any later version.
12
- *
13
- * This program is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- * GNU Affero General Public License for more details.
17
- *
18
- * You should have received a copy of the GNU Affero General Public License
19
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
- *
21
- */
22
- import SettingsSelectGroup from './SettingsSelectGroup'
23
-
24
- export default SettingsSelectGroup
25
- export { SettingsSelectGroup }
@@ -1,319 +0,0 @@
1
- <!--
2
- - @copyright Copyright (c) 2019 Jonas Sulzer <jonas@violoncello.ch>
3
- -
4
- - @author Marco Ambrosini <marcoambrosini@pm.me>
5
- - @author Jonas Sulzer <jonas@violoncello.ch>
6
- -
7
- - @license GNU AGPL version 3 or any later version
8
- -
9
- - This program is free software: you can redistribute it and/or modify
10
- - it under the terms of the GNU Affero General Public License as
11
- - published by the Free Software Foundation, either version 3 of the
12
- - License, or (at your option) any later version.
13
- -
14
- - This program is distributed in the hope that it will be useful,
15
- - but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- - GNU Affero General Public License for more details.
18
- -
19
- - You should have received a copy of the GNU Affero General Public License
20
- - along with this program. If not, see <http://www.gnu.org/licenses/>.
21
- -->
22
-
23
- <docs>
24
-
25
- ### General description
26
-
27
- This component displays a user together with a small avatar in a grey bubble.
28
- It's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,
29
- to link the bubble to e.g. a users profile
30
- and to show a popover on hover with e.g. the full user name handle / email address or something else.
31
-
32
- This component has the following slot:
33
- * a default slot which is for the content of the popover (this is passed to the popover component directly).
34
-
35
- ### Examples
36
-
37
- ```vue
38
- <p>
39
- Some text before <UserBubble user="admin" display-name="Admin Example" :url="'/test'">@admin@foreign-host.com</UserBubble> and after the bubble.
40
- <UserBubble avatar-image="icon-group" display-name="test group xyz" :primary="true">Hey there!</UserBubble>
41
- </p>
42
- ```
43
-
44
- ### Example with title slot
45
-
46
- ```vue
47
- <template>
48
- <UserBubble
49
- :margin="4"
50
- :size="30"
51
- display-name="Administrator"
52
- user="admin">
53
- <template #title>
54
- <a href="#"
55
- title="Remove user"
56
- class="icon-close"
57
- @click="alert" />
58
- </template>
59
- </UserBubble>
60
- </template>
61
-
62
- <style>
63
- .icon-close {
64
- display: block;
65
- height: 100%;
66
- }
67
- </style>
68
- ```
69
-
70
- </docs>
71
- <template>
72
- <Popover :is="isPopoverComponent"
73
- trigger="hover focus"
74
- :open="open"
75
- class="user-bubble__wrapper"
76
- @update:open="onOpenChange">
77
- <!-- Main userbubble structure -->
78
- <div slot="trigger"
79
- v-bind="isLinkComponent"
80
- class="user-bubble__content"
81
- :style="styles.content"
82
- :class="primary ? 'user-bubble__content--primary' : ''"
83
- @click="onClick">
84
- <!-- Avatar -->
85
- <Avatar :url="isCustomAvatar && isAvatarUrl ? avatarImage : undefined"
86
- :icon-class="isCustomAvatar && !isAvatarUrl ? avatarImage : undefined"
87
- :user="user"
88
- :display-name="displayName"
89
- :size="size - (margin * 2)"
90
- :style="styles.avatar"
91
- :disable-tooltip="true"
92
- :disable-menu="true"
93
- v-bind="$props"
94
- class="user-bubble__avatar" />
95
-
96
- <!-- Title -->
97
- <span class="user-bubble__title">
98
- {{ displayName || user }}
99
- </span>
100
-
101
- <!-- @slot Optional slot just after the title -->
102
- <span v-if="$slots.title" class="user-bubble__secondary">
103
- <slot name="title" />
104
- </span>
105
- </div>
106
-
107
- <!-- @slot Main Popover content on userbubble hover/focus -->
108
- <slot />
109
- </Popover>
110
- </template>
111
-
112
- <script>
113
- import Popover from '../Popover'
114
- import Avatar from '../Avatar'
115
-
116
- export default {
117
- name: 'UserBubble',
118
- components: {
119
- Popover,
120
- Avatar,
121
- },
122
- props: {
123
- /**
124
- * Override generated avatar, can be an url or an icon class
125
- */
126
- avatarImage: {
127
- type: String,
128
- default: undefined,
129
- },
130
- /**
131
- * Provide the user id if this is a user
132
- */
133
- user: {
134
- type: String,
135
- default: undefined,
136
- },
137
- /**
138
- * Displayed label
139
- */
140
- displayName: {
141
- type: String,
142
- required: true,
143
- },
144
- /**
145
- * Whether or not to display the user-status
146
- */
147
- showUserStatus: {
148
- type: Boolean,
149
- default: false,
150
- },
151
- /**
152
- * Define the whole bubble as a link
153
- */
154
- url: {
155
- type: String,
156
- default: undefined,
157
- validator: url => {
158
- try {
159
- url = new URL(url)
160
- return !!url
161
- } catch (error) {
162
- return false
163
- }
164
- },
165
- },
166
- /**
167
- * Default popover state. Requires the UserBubble
168
- * to have some content to render inside the popover
169
- */
170
- open: {
171
- type: Boolean,
172
- default: false,
173
- },
174
- /**
175
- * Use the primary colour
176
- */
177
- primary: {
178
- type: Boolean,
179
- default: false,
180
- },
181
- /**
182
- * This is the height of the component
183
- */
184
- size: {
185
- type: Number,
186
- default: 20,
187
- },
188
- /**
189
- * This is the margin of the avatar (size - margin = avatar size)
190
- */
191
- margin: {
192
- type: Number,
193
- default: 2,
194
- },
195
- },
196
- computed: {
197
- /**
198
- * If userbubble is empty, let's NOT
199
- * use the Popover component
200
- * @returns {string} 'Popover' or 'div'
201
- */
202
- isPopoverComponent() {
203
- return !this.popoverEmpty
204
- ? 'Popover'
205
- : 'div'
206
- },
207
-
208
- /**
209
- * Is the provided avatar url valid or not
210
- * @returns {boolean}
211
- */
212
- isAvatarUrl() {
213
- if (!this.avatarImage) {
214
- return false
215
- }
216
-
217
- try {
218
- const url = new URL(this.avatarImage)
219
- return !!url
220
- } catch (error) {
221
- return false
222
- }
223
- },
224
- /**
225
- * Do we have a custom avatar or not
226
- * @returns {boolean}
227
- */
228
- isCustomAvatar() {
229
- return !!this.avatarImage
230
- },
231
-
232
- isLinkComponent() {
233
- if (this.url && this.url.trim() !== '') {
234
- return { is: 'a', href: this.url }
235
- }
236
- return { is: 'div' }
237
- },
238
-
239
- popoverEmpty() {
240
- if ('default' in this.$slots) {
241
- return false
242
- }
243
- return true
244
- },
245
-
246
- styles() {
247
- return {
248
- content: {
249
- height: this.size + 'px',
250
- lineHeight: this.size + 'px',
251
- borderRadius: this.size / 2 + 'px',
252
- },
253
- avatar: {
254
- marginLeft: this.margin + 'px',
255
- },
256
- }
257
- },
258
- },
259
- methods: {
260
- onOpenChange(state) {
261
- this.$emit('update:open', state)
262
- },
263
- /**
264
- * Catch and forward click event to parent
265
- * @param {Event} event the click event
266
- */
267
- onClick(event) {
268
- this.$emit('click', event)
269
- },
270
- },
271
- }
272
- </script>
273
-
274
- <style lang="scss" scoped>
275
- .user-bubble {
276
- &__wrapper {
277
- // align inline with text
278
- display: inline-block;
279
- vertical-align: middle;
280
- // shrink and allow grow to fit
281
- min-width: 0;
282
- max-width: 100%;
283
- }
284
-
285
- &__content {
286
- display: inline-flex;
287
- max-width: 100%;
288
- background-color: var(--color-background-dark);
289
-
290
- &--primary {
291
- color: var(--color-primary-text);
292
- background-color: var(--color-primary-element);
293
- }
294
-
295
- > :last-child {
296
- // border radius left padding
297
- padding-right: 8px;
298
- }
299
- }
300
-
301
- &__avatar {
302
- align-self: center;
303
- }
304
-
305
- &__title {
306
- overflow: hidden;
307
- white-space: nowrap;
308
- text-overflow: ellipsis;
309
- }
310
-
311
- &__title,
312
- &__secondary {
313
- // proper spacing between avatar, title & slot
314
- padding: 0;
315
- padding-left: 4px;
316
- }
317
- }
318
-
319
- </style>
@@ -1,25 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>
3
- *
4
- * @author Marco Ambrosini <marcoambrosini@pm.me>
5
- *
6
- * @license GNU AGPL version 3 or any later version
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU Affero General Public License as
10
- * published by the Free Software Foundation, either version 3 of the
11
- * License, or (at your option) any later version.
12
- *
13
- * This program is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- * GNU Affero General Public License for more details.
17
- *
18
- * You should have received a copy of the GNU Affero General Public License
19
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
- *
21
- */
22
-
23
- import UserBubble from './UserBubble'
24
-
25
- export default UserBubble
@@ -1,110 +0,0 @@
1
-
2
- /**
3
- * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
4
- *
5
- * @author John Molakvoæ <skjnldsv@protonmail.com>
6
- *
7
- * @license GNU AGPL version 3 or any later version
8
- *
9
- * This program is free software: you can redistribute it and/or modify
10
- * it under the terms of the GNU Affero General Public License as
11
- * published by the Free Software Foundation, either version 3 of the
12
- * License, or (at your option) any later version.
13
- *
14
- * This program is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- * GNU Affero General Public License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
- *
22
- */
23
-
24
- import ActionButton from './ActionButton'
25
- import ActionCheckbox from './ActionCheckbox'
26
- import ActionInput from './ActionInput'
27
- import ActionLink from './ActionLink'
28
- import ActionRadio from './ActionRadio'
29
- import ActionRouter from './ActionRouter'
30
- import Actions from './Actions'
31
- import ActionSeparator from './ActionSeparator'
32
- import ActionText from './ActionText'
33
- import ActionTextEditable from './ActionTextEditable'
34
- import AppContent from './AppContent'
35
- import AppContentDetails from './AppContentDetails'
36
- import AppContentList from './AppContentList'
37
- import AppNavigation from './AppNavigation'
38
- import AppNavigationCaption from './AppNavigationCaption'
39
- import AppNavigationCounter from './AppNavigationCounter'
40
- import AppNavigationIconBullet from './AppNavigationIconBullet'
41
- import AppNavigationItem from './AppNavigationItem'
42
- import AppNavigationNew from './AppNavigationNew'
43
- import AppNavigationNewItem from './AppNavigationNewItem'
44
- import AppNavigationSettings from './AppNavigationSettings'
45
- import AppNavigationSpacer from './AppNavigationSpacer'
46
- import AppSettingsDialog from './AppSettingsDialog'
47
- import AppSettingsSection from './AppSettingsSection'
48
- import AppSidebar from './AppSidebar'
49
- import AppSidebarTab from './AppSidebarTab'
50
- import Avatar from './Avatar'
51
- import Breadcrumb from './Breadcrumb'
52
- import Breadcrumbs from './Breadcrumbs'
53
- import ColorPicker from './ColorPicker'
54
- import Content from './Content'
55
- import DatetimePicker from './DatetimePicker'
56
- import EmptyContent from './EmptyContent'
57
- import ListItemIcon from './ListItemIcon'
58
- import Modal from './Modal'
59
- import Multiselect from './Multiselect'
60
- import MultiselectTags from './MultiselectTags'
61
- import Popover from './Popover'
62
- import PopoverMenu from './PopoverMenu'
63
- import RichContenteditable from './RichContenteditable'
64
- import SettingsSection from './SettingsSection'
65
- import UserBubble from './UserBubble'
66
-
67
- export {
68
- ActionButton,
69
- ActionCheckbox,
70
- ActionInput,
71
- ActionLink,
72
- ActionRadio,
73
- ActionRouter,
74
- Actions,
75
- ActionSeparator,
76
- ActionText,
77
- ActionTextEditable,
78
- AppContent,
79
- AppContentDetails,
80
- AppContentList,
81
- AppNavigation,
82
- AppNavigationCaption,
83
- AppNavigationCounter,
84
- AppNavigationIconBullet,
85
- AppNavigationItem,
86
- AppNavigationNew,
87
- AppNavigationNewItem,
88
- AppNavigationSettings,
89
- AppNavigationSpacer,
90
- AppSettingsDialog,
91
- AppSettingsSection,
92
- AppSidebar,
93
- AppSidebarTab,
94
- Avatar,
95
- Breadcrumb,
96
- Breadcrumbs,
97
- ColorPicker,
98
- Content,
99
- DatetimePicker,
100
- EmptyContent,
101
- ListItemIcon,
102
- Modal,
103
- Multiselect,
104
- MultiselectTags,
105
- Popover,
106
- PopoverMenu,
107
- RichContenteditable,
108
- SettingsSection,
109
- UserBubble,
110
- }