@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,24 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
3
- *
4
- * @author John Molakvoæ <skjnldsv@protonmail.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 PopoverMenu from './PopoverMenu'
23
-
24
- export default PopoverMenu
@@ -1,135 +0,0 @@
1
- <!--
2
- - @copyright Copyright (c) 2020 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
- <docs>
23
- This is a simple progress bar component.
24
- ## Usage:
25
-
26
- ### Small
27
- <ProgressBar :value="60" />
28
-
29
- ### Medium
30
- <ProgressBar :value="60" size="medium" />
31
-
32
- ### error
33
- <ProgressBar :value="60" :error="true" />
34
-
35
- </docs>
36
-
37
- <template>
38
- <progress class="progress-bar vue"
39
- :class="{ 'progress-bar--error': error }"
40
- :style="progressBarStyle"
41
- :value="value"
42
- max="100" />
43
- </template>
44
-
45
- <script>
46
- export default {
47
-
48
- name: 'ProgressBar',
49
-
50
- props: {
51
- /**
52
- * An integer between 1 and 100
53
- */
54
- value: {
55
- type: Number,
56
- default: 0,
57
- validator(value) {
58
- return value >= 0
59
- && value <= 100
60
- },
61
- },
62
- /**
63
- * Determines the height of the progressbar.
64
- * Possible values:
65
- * - 'small' (default)
66
- * - 'medium'
67
- */
68
- size: {
69
- type: String,
70
- default: 'small',
71
- validator(value) {
72
- return ['small', 'medium'].indexOf(value) !== -1
73
- },
74
- },
75
- /**
76
- * Applies an error color to the progressbar if true.
77
- */
78
- error: {
79
- type: Boolean,
80
- default: false,
81
- },
82
- },
83
- computed: {
84
-
85
- progressBarStyle() {
86
- let height = 0
87
- let borderRadius = 0
88
- if (this.size === 'small') {
89
- height = '4px'
90
- borderRadius = '2px'
91
- } else if (this.size === 'medium') {
92
- height = '6px'
93
- borderRadius = '3px'
94
- }
95
- return {
96
- height,
97
- 'border-radius': borderRadius,
98
- }
99
- },
100
- },
101
- }
102
-
103
- </script>
104
-
105
- <style lang="scss" scoped>
106
-
107
- .progress-bar {
108
- display: block;
109
- width: 100%;
110
- background: var(--color-background-dark);
111
- border: 0;
112
- padding: 0;
113
- border-radius: var(--border-radius);
114
- &::-webkit-progress-bar {
115
- height: calc(var(--border-radius) * 2);
116
- }
117
- &::-webkit-progress-value {
118
- background: linear-gradient(40deg, var(--color-primary-element) 0%, var(--color-primary-element-light) 100%);
119
- border-radius: var(--border-radius);
120
- }
121
- &::-moz-progress-bar {
122
- background: linear-gradient(40deg, var(--color-primary-element) 0%, var(--color-primary-element-light) 100%);
123
- }
124
- &--error {
125
- // Override previous values
126
- &::-moz-progress-bar {
127
- background: var(--color-error) !important;
128
- }
129
- &::-webkit-progress-value {
130
- background: var(--color-error) !important;
131
- }
132
- }
133
- }
134
-
135
- </style>
@@ -1,25 +0,0 @@
1
- /**
2
- * @copyright Copyright (c) 2020 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 ProgressBar from './ProgressBar'
24
-
25
- export default ProgressBar
@@ -1,191 +0,0 @@
1
- <!--
2
- - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
3
- -
4
- - @author John Molakvoæ <skjnldsv@protonmail.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
- <template>
23
- <div class="autocomplete-result">
24
- <!-- Avatar or icon -->
25
- <div :class="[icon, `autocomplete-result__icon--${avatarUrl ? 'with-avatar' : ''}`]"
26
- :style="avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null "
27
- class="autocomplete-result__icon">
28
- <div v-if="haveStatus"
29
- :class="[`autocomplete-result__status--${status && status.icon ? 'icon' : status.status}`]"
30
- class="autocomplete-result__status">
31
- {{ status && status.icon || '' }}
32
- </div>
33
- </div>
34
-
35
- <!-- Title and subtitle -->
36
- <span class="autocomplete-result__content">
37
- <span class="autocomplete-result__title">
38
- {{ label }}
39
- </span>
40
- <span v-if="subline" class="autocomplete-result__subline">
41
- {{ subline }}
42
- </span>
43
- </span>
44
- </div>
45
- </template>
46
-
47
- <script>
48
- import { generateUrl } from '@nextcloud/router'
49
-
50
- export default {
51
- name: 'AutoCompleteResult',
52
-
53
- props: {
54
- label: {
55
- type: String,
56
- required: true,
57
- },
58
- subline: {
59
- type: String,
60
- default: null,
61
- },
62
- id: {
63
- type: String,
64
- default: null,
65
- },
66
- icon: {
67
- type: String,
68
- required: true,
69
- },
70
- source: {
71
- type: String,
72
- required: true,
73
- },
74
- status: {
75
- type: [Object, Array],
76
- default: () => ({}),
77
- },
78
- },
79
- computed: {
80
- avatarUrl() {
81
- return this.id && this.source === 'users'
82
- ? this.getAvatarUrl(this.id, 44)
83
- : null
84
- },
85
- haveStatus() {
86
- return this.status?.icon || this.status?.status
87
- },
88
- },
89
-
90
- methods: {
91
- getAvatarUrl(user, size) {
92
- return generateUrl('/avatar/{user}/{size}', {
93
- user,
94
- size,
95
- })
96
- },
97
- },
98
- }
99
- </script>
100
-
101
- <style lang="scss" scoped>
102
- @import '../../fonts/scss/iconfont-vue';
103
- $autocomplete-padding: 10px;
104
-
105
- .autocomplete-result {
106
- display: flex;
107
- height: $clickable-area;
108
- padding: $autocomplete-padding;
109
-
110
- .highlight & {
111
- color: var(--color-main-text);
112
- background: var(--color-primary-light);
113
- &, * {
114
- cursor: pointer;
115
- }
116
- }
117
-
118
- &__icon {
119
- position: relative;
120
- flex: 0 0 $clickable-area;
121
- width: $clickable-area;
122
- min-width: $clickable-area;
123
- height: $clickable-area;
124
- border-radius: $clickable-area;
125
- background-color: var(--color-background-darker);
126
- background-repeat: no-repeat;
127
- background-position: center;
128
- background-size: $clickable-area - 2 * $autocomplete-padding;
129
- &--with-avatar {
130
- color: inherit;
131
- background-size: cover;
132
- }
133
- }
134
-
135
- &__status {
136
- position: absolute;
137
- right: -4px;
138
- bottom: -4px;
139
- box-sizing: border-box;
140
- width: 18px;
141
- height: 18px;
142
- border: 2px solid var(--color-main-background);
143
- border-radius: 50%;
144
- background-color: var(--color-main-background);
145
- font-size: var(--default-font-size);
146
- line-height: 15px;
147
- &--online {
148
- color: #49b382;
149
-
150
- @include iconfont('user-status-online');
151
- }
152
- &--dnd {
153
- color: #ed484c;
154
- background-color: #fff;
155
-
156
- @include iconfont('user-status-dnd');
157
- }
158
- &--away {
159
- color: #f4a331;
160
-
161
- @include iconfont('user-status-away');
162
- }
163
- &--offline,
164
- &--icon {
165
- border: none;
166
- background-color: transparent;
167
- }
168
- }
169
-
170
- &__content {
171
- display: flex;
172
- flex: 1 1 100%;
173
- flex-direction: column;
174
- justify-content: center;
175
- min-width: 0;
176
- padding-left: $autocomplete-padding;
177
- }
178
-
179
- &__title,
180
- &__subline {
181
- white-space: nowrap;
182
- overflow: hidden;
183
- text-overflow: ellipsis;
184
- }
185
-
186
- &__subline {
187
- color: var(--color-text-lighter);
188
- }
189
- }
190
-
191
- </style>
@@ -1,165 +0,0 @@
1
- <!--
2
- - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
3
- -
4
- - @author John Molakvoæ <skjnldsv@protonmail.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
- <template>
23
- <span :class="{'mention-bubble--primary': primary}"
24
- class="mention-bubble"
25
- contenteditable="false">
26
- <span class="mention-bubble__wrapper">
27
- <span class="mention-bubble__content">
28
- <!-- Avatar or icon -->
29
- <span :class="[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]"
30
- :style="avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null"
31
- class="mention-bubble__icon" />
32
-
33
- <!-- Title -->
34
- <span role="heading" class="mention-bubble__title" :title="label" />
35
- </span>
36
-
37
- <!-- Selectable text for copy/paste -->
38
- <span role="none" class="mention-bubble__select">{{ mentionText }}</span>
39
- </span>
40
- </span>
41
- </template>
42
-
43
- <script>
44
- import { generateUrl } from '@nextcloud/router'
45
-
46
- export default {
47
- name: 'MentionBubble',
48
-
49
- props: {
50
- id: {
51
- type: String,
52
- required: true,
53
- },
54
- label: {
55
- type: String,
56
- required: true,
57
- },
58
- icon: {
59
- type: String,
60
- required: true,
61
- },
62
- source: {
63
- type: String,
64
- required: true,
65
- },
66
- primary: {
67
- type: Boolean,
68
- default: false,
69
- },
70
- },
71
- computed: {
72
- avatarUrl() {
73
- return this.id && this.source === 'users'
74
- ? this.getAvatarUrl(this.id, 44)
75
- : null
76
- },
77
- mentionText() {
78
- return this.id.indexOf(' ') === -1
79
- ? `@${this.id}`
80
- : `@"${this.id}"`
81
- },
82
- },
83
-
84
- methods: {
85
- getAvatarUrl(user, size) {
86
- return generateUrl('/avatar/{user}/{size}', {
87
- user,
88
- size,
89
- })
90
- },
91
- },
92
- }
93
- </script>
94
-
95
- <style lang="scss" scoped>
96
- $bubble-height: 20px;
97
- $bubble-max-width: 150px;
98
- $bubble-padding: 2px;
99
- $bubble-avatar-size: $bubble-height - 2 * $bubble-padding;
100
-
101
- .mention-bubble {
102
- &--primary &__content {
103
- color: var(--color-primary-text);
104
- background-color: var(--color-primary-element);
105
- }
106
-
107
- &__wrapper {
108
- max-width: $bubble-max-width;
109
- // Align with text
110
- height: $bubble-height - $bubble-padding;
111
- vertical-align: text-bottom;
112
- display: inline-flex;
113
- align-items: center;
114
- }
115
-
116
- &__content {
117
- display: inline-flex;
118
- overflow: hidden;
119
- align-items: center;
120
- max-width: 100%;
121
- height: $bubble-height ;
122
- -webkit-user-select: none;
123
- user-select: none;
124
- padding-right: $bubble-padding * 3;
125
- padding-left: $bubble-padding;
126
- border-radius: $bubble-height / 2;
127
- background-color: var(--color-background-dark);
128
- }
129
-
130
- &__icon {
131
- position: relative;
132
- width: $bubble-avatar-size;
133
- height: $bubble-avatar-size;
134
- border-radius: $bubble-avatar-size / 2;
135
- background-color: var(--color-background-darker);
136
- background-repeat: no-repeat;
137
- background-position: center;
138
- background-size: $bubble-avatar-size - 2 * $bubble-padding;
139
-
140
- &--with-avatar {
141
- color: inherit;
142
- background-size: cover;
143
- }
144
- }
145
-
146
- &__title {
147
- overflow: hidden;
148
- margin-left: $bubble-padding;
149
- white-space: nowrap;
150
- text-overflow: ellipsis;
151
- // Put label in ::before so it is not selectable
152
- &::before {
153
- content: attr(title);
154
- }
155
- }
156
-
157
- // Hide the mention id so it is selectable
158
- &__select {
159
- position: absolute;
160
- z-index: -1;
161
- left: -1000px;
162
- }
163
- }
164
-
165
- </style>