@theia/scm 1.67.0-next.13 → 1.67.0-next.56

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 (218) hide show
  1. package/README.md +1 -1
  2. package/package.json +6 -6
  3. package/lib/browser/decorations/scm-decorations-service.d.ts +0 -21
  4. package/lib/browser/decorations/scm-decorations-service.d.ts.map +0 -1
  5. package/lib/browser/decorations/scm-decorations-service.js +0 -134
  6. package/lib/browser/decorations/scm-decorations-service.js.map +0 -1
  7. package/lib/browser/decorations/scm-navigator-decorator.d.ts +0 -26
  8. package/lib/browser/decorations/scm-navigator-decorator.d.ts.map +0 -1
  9. package/lib/browser/decorations/scm-navigator-decorator.js +0 -122
  10. package/lib/browser/decorations/scm-navigator-decorator.js.map +0 -1
  11. package/lib/browser/dirty-diff/content-lines.d.ts +0 -15
  12. package/lib/browser/dirty-diff/content-lines.d.ts.map +0 -1
  13. package/lib/browser/dirty-diff/content-lines.js +0 -114
  14. package/lib/browser/dirty-diff/content-lines.js.map +0 -1
  15. package/lib/browser/dirty-diff/content-lines.spec.d.ts +0 -2
  16. package/lib/browser/dirty-diff/content-lines.spec.d.ts.map +0 -1
  17. package/lib/browser/dirty-diff/content-lines.spec.js +0 -40
  18. package/lib/browser/dirty-diff/content-lines.spec.js.map +0 -1
  19. package/lib/browser/dirty-diff/diff-computer.d.ts +0 -39
  20. package/lib/browser/dirty-diff/diff-computer.d.ts.map +0 -1
  21. package/lib/browser/dirty-diff/diff-computer.js +0 -167
  22. package/lib/browser/dirty-diff/diff-computer.js.map +0 -1
  23. package/lib/browser/dirty-diff/diff-computer.spec.d.ts +0 -2
  24. package/lib/browser/dirty-diff/diff-computer.spec.d.ts.map +0 -1
  25. package/lib/browser/dirty-diff/diff-computer.spec.js +0 -384
  26. package/lib/browser/dirty-diff/diff-computer.spec.js.map +0 -1
  27. package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts +0 -17
  28. package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts.map +0 -1
  29. package/lib/browser/dirty-diff/dirty-diff-decorator.js +0 -101
  30. package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +0 -1
  31. package/lib/browser/dirty-diff/dirty-diff-module.d.ts +0 -4
  32. package/lib/browser/dirty-diff/dirty-diff-module.d.ts.map +0 -1
  33. package/lib/browser/dirty-diff/dirty-diff-module.js +0 -34
  34. package/lib/browser/dirty-diff/dirty-diff-module.js.map +0 -1
  35. package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts +0 -49
  36. package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts.map +0 -1
  37. package/lib/browser/dirty-diff/dirty-diff-navigator.js +0 -295
  38. package/lib/browser/dirty-diff/dirty-diff-navigator.js.map +0 -1
  39. package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +0 -50
  40. package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +0 -1
  41. package/lib/browser/dirty-diff/dirty-diff-widget.js +0 -357
  42. package/lib/browser/dirty-diff/dirty-diff-widget.js.map +0 -1
  43. package/lib/browser/merge-editor/merge-editor-contribution.d.ts +0 -34
  44. package/lib/browser/merge-editor/merge-editor-contribution.d.ts.map +0 -1
  45. package/lib/browser/merge-editor/merge-editor-contribution.js +0 -335
  46. package/lib/browser/merge-editor/merge-editor-contribution.js.map +0 -1
  47. package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts +0 -31
  48. package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts.map +0 -1
  49. package/lib/browser/merge-editor/merge-editor-dev-contribution.js +0 -151
  50. package/lib/browser/merge-editor/merge-editor-dev-contribution.js.map +0 -1
  51. package/lib/browser/merge-editor/merge-editor-module.d.ts +0 -24
  52. package/lib/browser/merge-editor/merge-editor-module.d.ts.map +0 -1
  53. package/lib/browser/merge-editor/merge-editor-module.js +0 -109
  54. package/lib/browser/merge-editor/merge-editor-module.js.map +0 -1
  55. package/lib/browser/merge-editor/merge-editor.d.ts +0 -122
  56. package/lib/browser/merge-editor/merge-editor.d.ts.map +0 -1
  57. package/lib/browser/merge-editor/merge-editor.js +0 -560
  58. package/lib/browser/merge-editor/merge-editor.js.map +0 -1
  59. package/lib/browser/merge-editor/model/line-range.d.ts +0 -37
  60. package/lib/browser/merge-editor/model/line-range.d.ts.map +0 -1
  61. package/lib/browser/merge-editor/model/line-range.js +0 -111
  62. package/lib/browser/merge-editor/model/line-range.js.map +0 -1
  63. package/lib/browser/merge-editor/model/live-diff.d.ts +0 -26
  64. package/lib/browser/merge-editor/model/live-diff.d.ts.map +0 -1
  65. package/lib/browser/merge-editor/model/live-diff.js +0 -85
  66. package/lib/browser/merge-editor/model/live-diff.js.map +0 -1
  67. package/lib/browser/merge-editor/model/merge-editor-model.d.ts +0 -116
  68. package/lib/browser/merge-editor/model/merge-editor-model.d.ts.map +0 -1
  69. package/lib/browser/merge-editor/model/merge-editor-model.js +0 -507
  70. package/lib/browser/merge-editor/model/merge-editor-model.js.map +0 -1
  71. package/lib/browser/merge-editor/model/merge-range.d.ts +0 -50
  72. package/lib/browser/merge-editor/model/merge-range.d.ts.map +0 -1
  73. package/lib/browser/merge-editor/model/merge-range.js +0 -215
  74. package/lib/browser/merge-editor/model/merge-range.js.map +0 -1
  75. package/lib/browser/merge-editor/model/range-editing.d.ts +0 -21
  76. package/lib/browser/merge-editor/model/range-editing.d.ts.map +0 -1
  77. package/lib/browser/merge-editor/model/range-editing.js +0 -68
  78. package/lib/browser/merge-editor/model/range-editing.js.map +0 -1
  79. package/lib/browser/merge-editor/model/range-mapping.d.ts +0 -106
  80. package/lib/browser/merge-editor/model/range-mapping.d.ts.map +0 -1
  81. package/lib/browser/merge-editor/model/range-mapping.js +0 -252
  82. package/lib/browser/merge-editor/model/range-mapping.js.map +0 -1
  83. package/lib/browser/merge-editor/model/range-mapping.spec.d.ts +0 -2
  84. package/lib/browser/merge-editor/model/range-mapping.spec.d.ts.map +0 -1
  85. package/lib/browser/merge-editor/model/range-mapping.spec.js +0 -48
  86. package/lib/browser/merge-editor/model/range-mapping.spec.js.map +0 -1
  87. package/lib/browser/merge-editor/model/range-utils.d.ts +0 -25
  88. package/lib/browser/merge-editor/model/range-utils.d.ts.map +0 -1
  89. package/lib/browser/merge-editor/model/range-utils.js +0 -118
  90. package/lib/browser/merge-editor/model/range-utils.js.map +0 -1
  91. package/lib/browser/merge-editor/view/diff-spacers.d.ts +0 -50
  92. package/lib/browser/merge-editor/view/diff-spacers.d.ts.map +0 -1
  93. package/lib/browser/merge-editor/view/diff-spacers.js +0 -133
  94. package/lib/browser/merge-editor/view/diff-spacers.js.map +0 -1
  95. package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts +0 -6
  96. package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts.map +0 -1
  97. package/lib/browser/merge-editor/view/merge-editor-panes/index.js +0 -24
  98. package/lib/browser/merge-editor/view/merge-editor-panes/index.js.map +0 -1
  99. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts +0 -12
  100. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts.map +0 -1
  101. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js +0 -65
  102. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js.map +0 -1
  103. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts +0 -30
  104. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts.map +0 -1
  105. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js +0 -102
  106. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js.map +0 -1
  107. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts +0 -49
  108. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts.map +0 -1
  109. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js +0 -214
  110. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js.map +0 -1
  111. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts +0 -16
  112. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts.map +0 -1
  113. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js +0 -107
  114. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js.map +0 -1
  115. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts +0 -27
  116. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts.map +0 -1
  117. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js +0 -135
  118. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js.map +0 -1
  119. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts +0 -20
  120. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts.map +0 -1
  121. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js +0 -218
  122. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js.map +0 -1
  123. package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts +0 -57
  124. package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts.map +0 -1
  125. package/lib/browser/merge-editor/view/merge-editor-view-zones.js +0 -218
  126. package/lib/browser/merge-editor/view/merge-editor-view-zones.js.map +0 -1
  127. package/lib/browser/merge-editor/view/merge-range-actions.d.ts +0 -23
  128. package/lib/browser/merge-editor/view/merge-range-actions.d.ts.map +0 -1
  129. package/lib/browser/merge-editor/view/merge-range-actions.js +0 -142
  130. package/lib/browser/merge-editor/view/merge-range-actions.js.map +0 -1
  131. package/lib/browser/scm-amend-component.d.ts +0 -124
  132. package/lib/browser/scm-amend-component.d.ts.map +0 -1
  133. package/lib/browser/scm-amend-component.js +0 -464
  134. package/lib/browser/scm-amend-component.js.map +0 -1
  135. package/lib/browser/scm-amend-widget.d.ts +0 -21
  136. package/lib/browser/scm-amend-widget.d.ts.map +0 -1
  137. package/lib/browser/scm-amend-widget.js +0 -91
  138. package/lib/browser/scm-amend-widget.js.map +0 -1
  139. package/lib/browser/scm-avatar-service.d.ts +0 -4
  140. package/lib/browser/scm-avatar-service.d.ts.map +0 -1
  141. package/lib/browser/scm-avatar-service.js +0 -32
  142. package/lib/browser/scm-avatar-service.js.map +0 -1
  143. package/lib/browser/scm-colors.d.ts +0 -8
  144. package/lib/browser/scm-colors.d.ts.map +0 -1
  145. package/lib/browser/scm-colors.js +0 -27
  146. package/lib/browser/scm-colors.js.map +0 -1
  147. package/lib/browser/scm-commit-widget.d.ts +0 -53
  148. package/lib/browser/scm-commit-widget.d.ts.map +0 -1
  149. package/lib/browser/scm-commit-widget.js +0 -188
  150. package/lib/browser/scm-commit-widget.js.map +0 -1
  151. package/lib/browser/scm-context-key-service.d.ts +0 -13
  152. package/lib/browser/scm-context-key-service.d.ts.map +0 -1
  153. package/lib/browser/scm-context-key-service.js +0 -55
  154. package/lib/browser/scm-context-key-service.js.map +0 -1
  155. package/lib/browser/scm-contribution.d.ts +0 -98
  156. package/lib/browser/scm-contribution.d.ts.map +0 -1
  157. package/lib/browser/scm-contribution.js +0 -480
  158. package/lib/browser/scm-contribution.js.map +0 -1
  159. package/lib/browser/scm-frontend-module.d.ts +0 -7
  160. package/lib/browser/scm-frontend-module.d.ts.map +0 -1
  161. package/lib/browser/scm-frontend-module.js +0 -129
  162. package/lib/browser/scm-frontend-module.js.map +0 -1
  163. package/lib/browser/scm-groups-tree-model.d.ts +0 -15
  164. package/lib/browser/scm-groups-tree-model.d.ts.map +0 -1
  165. package/lib/browser/scm-groups-tree-model.js +0 -90
  166. package/lib/browser/scm-groups-tree-model.js.map +0 -1
  167. package/lib/browser/scm-input.d.ts +0 -54
  168. package/lib/browser/scm-input.d.ts.map +0 -1
  169. package/lib/browser/scm-input.js +0 -128
  170. package/lib/browser/scm-input.js.map +0 -1
  171. package/lib/browser/scm-layout-migrations.d.ts +0 -10
  172. package/lib/browser/scm-layout-migrations.d.ts.map +0 -1
  173. package/lib/browser/scm-layout-migrations.js +0 -75
  174. package/lib/browser/scm-layout-migrations.js.map +0 -1
  175. package/lib/browser/scm-no-repository-widget.d.ts +0 -9
  176. package/lib/browser/scm-no-repository-widget.d.ts.map +0 -1
  177. package/lib/browser/scm-no-repository-widget.js +0 -42
  178. package/lib/browser/scm-no-repository-widget.js.map +0 -1
  179. package/lib/browser/scm-provider.d.ts +0 -60
  180. package/lib/browser/scm-provider.d.ts.map +0 -1
  181. package/lib/browser/scm-provider.js +0 -20
  182. package/lib/browser/scm-provider.js.map +0 -1
  183. package/lib/browser/scm-quick-open-service.d.ts +0 -12
  184. package/lib/browser/scm-quick-open-service.d.ts.map +0 -1
  185. package/lib/browser/scm-quick-open-service.js +0 -66
  186. package/lib/browser/scm-quick-open-service.js.map +0 -1
  187. package/lib/browser/scm-repository.d.ts +0 -18
  188. package/lib/browser/scm-repository.d.ts.map +0 -1
  189. package/lib/browser/scm-repository.js +0 -42
  190. package/lib/browser/scm-repository.js.map +0 -1
  191. package/lib/browser/scm-service.d.ts +0 -27
  192. package/lib/browser/scm-service.d.ts.map +0 -1
  193. package/lib/browser/scm-service.js +0 -101
  194. package/lib/browser/scm-service.js.map +0 -1
  195. package/lib/browser/scm-tree-label-provider.d.ts +0 -8
  196. package/lib/browser/scm-tree-label-provider.d.ts.map +0 -1
  197. package/lib/browser/scm-tree-label-provider.js +0 -50
  198. package/lib/browser/scm-tree-label-provider.js.map +0 -1
  199. package/lib/browser/scm-tree-model.d.ts +0 -76
  200. package/lib/browser/scm-tree-model.d.ts.map +0 -1
  201. package/lib/browser/scm-tree-model.js +0 -349
  202. package/lib/browser/scm-tree-model.js.map +0 -1
  203. package/lib/browser/scm-tree-widget.d.ts +0 -206
  204. package/lib/browser/scm-tree-widget.d.ts.map +0 -1
  205. package/lib/browser/scm-tree-widget.js +0 -677
  206. package/lib/browser/scm-tree-widget.js.map +0 -1
  207. package/lib/browser/scm-widget.d.ts +0 -42
  208. package/lib/browser/scm-widget.d.ts.map +0 -1
  209. package/lib/browser/scm-widget.js +0 -220
  210. package/lib/browser/scm-widget.js.map +0 -1
  211. package/lib/common/scm-preferences.d.ts +0 -12
  212. package/lib/common/scm-preferences.d.ts.map +0 -1
  213. package/lib/common/scm-preferences.js +0 -51
  214. package/lib/common/scm-preferences.js.map +0 -1
  215. package/lib/node/scm-backend-module.d.ts +0 -4
  216. package/lib/node/scm-backend-module.d.ts.map +0 -1
  217. package/lib/node/scm-backend-module.js +0 -23
  218. package/lib/node/scm-backend-module.js.map +0 -1
@@ -1,464 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2019 Arm and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ScmAmendComponent = void 0;
19
- require("../../src/browser/style/scm-amend-component.css");
20
- const React = require("@theia/core/shared/react");
21
- const browser_1 = require("@theia/core/lib/browser");
22
- const core_1 = require("@theia/core");
23
- const nls_1 = require("@theia/core/lib/common/nls");
24
- const TRANSITION_TIME_MS = 300;
25
- const REPOSITORY_STORAGE_KEY = 'scmRepository';
26
- class ScmAmendComponent extends React.Component {
27
- constructor(props) {
28
- super(props);
29
- /**
30
- * a hint on how to animate an update, set by certain user action handlers
31
- * and used when updating the view based on a repository change
32
- */
33
- this.transitionHint = 'none';
34
- this.lastCommitHeight = 0;
35
- this.lastCommitScrollRef = (instance) => {
36
- if (instance && this.lastCommitHeight === 0) {
37
- this.lastCommitHeight = instance.getBoundingClientRect().height;
38
- }
39
- };
40
- this.toDisposeOnUnmount = new core_1.DisposableCollection();
41
- /**
42
- * This function will update the 'model' (lastCommit, amendingCommits) only
43
- * when the repository sees the last commit change.
44
- * 'render' can be called at any time, so be sure we don't update any 'model'
45
- * fields until we actually start the transition.
46
- */
47
- this.amend = async () => {
48
- if (this.state.transition.state !== 'none' && this.transitionHint !== 'none') {
49
- return;
50
- }
51
- this.transitionHint = 'amend';
52
- await this.resetAndSetMessage('HEAD~', 'HEAD');
53
- };
54
- this.unamend = async () => {
55
- if (this.state.transition.state !== 'none' && this.transitionHint !== 'none') {
56
- return;
57
- }
58
- const commitToRestore = (this.state.amendingCommits.length >= 1)
59
- ? this.state.amendingCommits[this.state.amendingCommits.length - 1]
60
- : undefined;
61
- const oldestAmendCommit = (this.state.amendingCommits.length >= 2)
62
- ? this.state.amendingCommits[this.state.amendingCommits.length - 2]
63
- : undefined;
64
- if (commitToRestore) {
65
- const commitToUseForMessage = oldestAmendCommit
66
- ? oldestAmendCommit.commit.id
67
- : undefined;
68
- this.transitionHint = 'unamend';
69
- await this.resetAndSetMessage(commitToRestore.commit.id, commitToUseForMessage);
70
- }
71
- };
72
- this.unamendAll = () => this.doUnamendAll();
73
- this.clearAmending = () => this.doClearAmending();
74
- this.state = {
75
- transition: { state: 'none' },
76
- amendingCommits: [],
77
- lastCommit: undefined
78
- };
79
- const setState = this.setState.bind(this);
80
- this.setState = newState => {
81
- if (!this.toDisposeOnUnmount.disposed) {
82
- setState(newState);
83
- }
84
- };
85
- }
86
- async componentDidMount() {
87
- this.toDisposeOnUnmount.push(core_1.Disposable.create(() => { }));
88
- const lastCommit = await this.getLastCommit();
89
- this.setState({ amendingCommits: await this.buildAmendingList(lastCommit ? lastCommit.commit : undefined), lastCommit });
90
- if (this.toDisposeOnUnmount.disposed) {
91
- return;
92
- }
93
- this.toDisposeOnUnmount.push(this.props.repository.provider.onDidChange(() => this.fetchStatusAndSetState()));
94
- }
95
- componentWillUnmount() {
96
- this.toDisposeOnUnmount.dispose();
97
- }
98
- async fetchStatusAndSetState() {
99
- const storageKey = this.getStorageKey();
100
- const nextCommit = await this.getLastCommit();
101
- if (nextCommit && this.state.lastCommit && nextCommit.commit.id === this.state.lastCommit.commit.id) {
102
- // No change here
103
- }
104
- else if (nextCommit === undefined && this.state.lastCommit === undefined) {
105
- // No change here
106
- }
107
- else if (this.transitionHint === 'none') {
108
- // If the 'last' commit changes, but we are not expecting an 'amend'
109
- // or 'unamend' to occur, then we clear out the list of amended commits.
110
- // This is because an unexpected change has happened to the repository,
111
- // perhaps the user committed, merged, or something. The amended commits
112
- // will no longer be valid.
113
- // Note that there may or may not have been a previous lastCommit (if the
114
- // repository was previously empty with no initial commit then lastCommit
115
- // will be undefined). Either way we clear the amending commits.
116
- await this.clearAmendingCommits();
117
- // There is a change to the last commit, but no transition hint so
118
- // the view just updates without transition.
119
- this.setState({ amendingCommits: [], lastCommit: nextCommit });
120
- }
121
- else {
122
- const amendingCommits = this.state.amendingCommits.concat([]); // copy the array
123
- const direction = this.transitionHint === 'amend' ? 'up' : 'down';
124
- switch (this.transitionHint) {
125
- case 'amend':
126
- if (this.state.lastCommit) {
127
- amendingCommits.push(this.state.lastCommit);
128
- const serializedState = JSON.stringify({
129
- amendingHeadCommitSha: amendingCommits[0].commit.id,
130
- latestCommitSha: nextCommit ? nextCommit.commit.id : undefined
131
- });
132
- this.props.storageService.setData(storageKey, serializedState);
133
- }
134
- break;
135
- case 'unamend':
136
- amendingCommits.pop();
137
- if (amendingCommits.length === 0) {
138
- this.props.storageService.setData(storageKey, undefined);
139
- }
140
- else {
141
- const serializedState = JSON.stringify({
142
- amendingHeadCommitSha: amendingCommits[0].commit.id,
143
- latestCommitSha: nextCommit ? nextCommit.commit.id : undefined
144
- });
145
- this.props.storageService.setData(storageKey, serializedState);
146
- }
147
- break;
148
- }
149
- if (this.state.lastCommit && nextCommit) {
150
- const transitionData = { direction, previousLastCommit: this.state.lastCommit };
151
- this.setState({ lastCommit: nextCommit, amendingCommits, transition: { ...transitionData, state: 'start' } });
152
- this.onNextFrame(() => {
153
- this.setState({ transition: { ...transitionData, state: 'transitioning' } });
154
- });
155
- setTimeout(() => {
156
- this.setState({ transition: { state: 'none' } });
157
- }, TRANSITION_TIME_MS);
158
- }
159
- else {
160
- // No previous last commit so no transition
161
- this.setState({ transition: { state: 'none' }, amendingCommits, lastCommit: nextCommit });
162
- }
163
- }
164
- this.transitionHint = 'none';
165
- }
166
- async clearAmendingCommits() {
167
- const storageKey = this.getStorageKey();
168
- await this.props.storageService.setData(storageKey, undefined);
169
- }
170
- async buildAmendingList(lastCommit) {
171
- const storageKey = this.getStorageKey();
172
- const storedState = await this.props.storageService.getData(storageKey, undefined);
173
- // Restore list of commits from saved amending head commit up through parents until the
174
- // current commit. (If we don't reach the current commit, the repository has been changed in such
175
- // a way then unamending commits can no longer be done).
176
- if (storedState) {
177
- const { amendingHeadCommitSha, latestCommitSha } = JSON.parse(storedState);
178
- if (!this.commitsAreEqual(lastCommit, latestCommitSha)) {
179
- // The head commit in the repository has changed. It is not the same commit that was the
180
- // head commit after the last 'amend'.
181
- return [];
182
- }
183
- const commits = await this.props.scmAmendSupport.getInitialAmendingCommits(amendingHeadCommitSha, lastCommit ? lastCommit.id : undefined);
184
- const amendingCommitPromises = commits.map(async (commit) => {
185
- const avatar = await this.props.avatarService.getAvatar(commit.authorEmail);
186
- return { commit, avatar };
187
- });
188
- return Promise.all(amendingCommitPromises);
189
- }
190
- else {
191
- return [];
192
- }
193
- }
194
- getStorageKey() {
195
- return REPOSITORY_STORAGE_KEY + ':' + this.props.repository.provider.rootUri;
196
- }
197
- /**
198
- * Commits are equal if the ids are equal or if both are undefined.
199
- * (If a commit is undefined, it represents the initial empty state of a repository,
200
- * before the initial commit).
201
- */
202
- commitsAreEqual(lastCommit, savedLastCommitId) {
203
- return lastCommit
204
- ? lastCommit.id === savedLastCommitId
205
- : savedLastCommitId === undefined;
206
- }
207
- async resetAndSetMessage(commitToRestore, commitToUseForMessage) {
208
- const message = commitToUseForMessage
209
- ? await this.props.scmAmendSupport.getMessage(commitToUseForMessage)
210
- : '';
211
- await this.props.scmAmendSupport.reset(commitToRestore);
212
- this.props.setCommitMessage(message);
213
- }
214
- render() {
215
- const neverShrink = this.state.amendingCommits.length <= 3;
216
- const style = neverShrink
217
- ? {
218
- ...this.props.style,
219
- flexShrink: 0,
220
- }
221
- : {
222
- ...this.props.style,
223
- flexShrink: 1,
224
- minHeight: 240 // height with three commits
225
- };
226
- return (React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_CONTAINER + ' no-select', style: style },
227
- this.state.amendingCommits.length > 0 || (this.state.lastCommit && this.state.transition.state !== 'none' && this.state.transition.direction === 'down')
228
- ? this.renderAmendingCommits()
229
- : '',
230
- this.state.lastCommit ?
231
- React.createElement("div", null,
232
- React.createElement("div", { id: 'lastCommit', className: 'theia-scm-amend' },
233
- React.createElement("div", { className: 'theia-header scm-theia-header' }, nls_1.nls.localize('theia/scm/amendHeadCommit', 'HEAD Commit')),
234
- this.renderLastCommit()))
235
- : ''));
236
- }
237
- async getLastCommit() {
238
- const commit = await this.props.scmAmendSupport.getLastCommit();
239
- if (commit) {
240
- const avatar = await this.props.avatarService.getAvatar(commit.authorEmail);
241
- return { commit, avatar };
242
- }
243
- return undefined;
244
- }
245
- renderAmendingCommits() {
246
- const neverShrink = this.state.amendingCommits.length <= 3;
247
- const style = neverShrink
248
- ? {
249
- flexShrink: 0,
250
- }
251
- : {
252
- flexShrink: 1,
253
- // parent minHeight controls height, we just need any value smaller than
254
- // what the height would be when the parent is at its minHeight
255
- minHeight: 0
256
- };
257
- return React.createElement("div", { id: 'amendedCommits', className: 'theia-scm-amend-outer-container', style: style },
258
- React.createElement("div", { className: 'theia-header scm-theia-header' },
259
- React.createElement("div", { className: 'noWrapInfo' }, "Commits being Amended"),
260
- this.renderAmendCommitListButtons(),
261
- this.renderCommitCount(this.state.amendingCommits.length)),
262
- React.createElement("div", { style: this.styleAmendedCommits() },
263
- this.state.amendingCommits.map((commitData, index, array) => this.renderCommitBeingAmended(commitData, index === array.length - 1)),
264
- this.state.lastCommit && this.state.transition.state !== 'none' && this.state.transition.direction === 'down'
265
- ? this.renderCommitBeingAmended(this.state.lastCommit, false)
266
- : ''));
267
- }
268
- renderAmendCommitListButtons() {
269
- return React.createElement("div", { className: 'theia-scm-inline-actions-container' },
270
- React.createElement("div", { className: 'theia-scm-inline-actions' },
271
- React.createElement("div", { className: 'theia-scm-inline-action' },
272
- React.createElement("a", { className: (0, browser_1.codicon)('dash'), title: 'Unamend All Commits', onClick: this.unamendAll })),
273
- React.createElement("div", { className: 'theia-scm-inline-action' },
274
- React.createElement("a", { className: (0, browser_1.codicon)('close'), title: 'Clear Amending Commits', onClick: this.clearAmending }))));
275
- }
276
- renderLastCommit() {
277
- if (!this.state.lastCommit) {
278
- return '';
279
- }
280
- const canAmend = true;
281
- return React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_AND_BUTTON, style: { flexGrow: 0, flexShrink: 0 }, key: this.state.lastCommit.commit.id },
282
- this.renderLastCommitNoButton(this.state.lastCommit),
283
- canAmend
284
- ? React.createElement("div", { className: ScmAmendComponent.Styles.FLEX_CENTER },
285
- React.createElement("button", { className: 'theia-button', title: nls_1.nls.localize('theia/scm/amendLastCommit', 'Amend last commit'), onClick: this.amend }, nls_1.nls.localize('theia/scm/amend', 'Amend')))
286
- : '');
287
- }
288
- renderLastCommitNoButton(lastCommit) {
289
- switch (this.state.transition.state) {
290
- case 'none':
291
- return React.createElement("div", { ref: this.lastCommitScrollRef, className: 'theia-scm-scrolling-container' }, this.renderCommitAvatarAndDetail(lastCommit));
292
- case 'start':
293
- case 'transitioning':
294
- switch (this.state.transition.direction) {
295
- case 'up':
296
- return React.createElement("div", { style: this.styleLastCommitMovingUp(this.state.transition.state) },
297
- this.renderCommitAvatarAndDetail(this.state.transition.previousLastCommit),
298
- this.renderCommitAvatarAndDetail(lastCommit));
299
- case 'down':
300
- return React.createElement("div", { style: this.styleLastCommitMovingDown(this.state.transition.state) },
301
- this.renderCommitAvatarAndDetail(lastCommit),
302
- this.renderCommitAvatarAndDetail(this.state.transition.previousLastCommit));
303
- }
304
- }
305
- }
306
- /**
307
- * See https://stackoverflow.com/questions/26556436/react-after-render-code
308
- *
309
- * @param callback
310
- */
311
- onNextFrame(callback) {
312
- setTimeout(() => window.requestAnimationFrame(callback), 0);
313
- }
314
- renderCommitAvatarAndDetail(commitData) {
315
- const { commit, avatar } = commitData;
316
- return React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_AVATAR_AND_TEXT, key: commit.id },
317
- React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_MESSAGE_AVATAR },
318
- React.createElement("img", { src: avatar })),
319
- React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_DETAILS },
320
- React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_MESSAGE_SUMMARY }, commit.summary),
321
- React.createElement("div", { className: ScmAmendComponent.Styles.LAST_COMMIT_MESSAGE_TIME }, `${commit.authorDateRelative} by ${commit.authorName}`)));
322
- }
323
- renderCommitCount(commits) {
324
- return React.createElement("div", { className: 'notification-count-container scm-change-count' },
325
- React.createElement("span", { className: 'notification-count' }, commits));
326
- }
327
- renderCommitBeingAmended(commitData, isOldestAmendCommit) {
328
- if (isOldestAmendCommit && this.state.transition.state !== 'none' && this.state.transition.direction === 'up') {
329
- return React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_AVATAR_AND_TEXT, style: { flexGrow: 0, flexShrink: 0 }, key: commitData.commit.id },
330
- React.createElement("div", { className: 'fixed-height-commit-container' }, this.renderCommitAvatarAndDetail(commitData)));
331
- }
332
- else {
333
- return React.createElement("div", { className: ScmAmendComponent.Styles.COMMIT_AVATAR_AND_TEXT, style: { flexGrow: 0, flexShrink: 0 }, key: commitData.commit.id },
334
- this.renderCommitAvatarAndDetail(commitData),
335
- isOldestAmendCommit
336
- ? React.createElement("div", { className: ScmAmendComponent.Styles.FLEX_CENTER },
337
- React.createElement("button", { className: 'theia-button', title: nls_1.nls.localize('theia/scm/unamendCommit', 'Unamend commit'), onClick: this.unamend }, nls_1.nls.localize('theia/scm/unamend', 'Unamend')))
338
- : '');
339
- }
340
- }
341
- /*
342
- * The style for the <div> containing the list of commits being amended.
343
- * This div is scrollable.
344
- */
345
- styleAmendedCommits() {
346
- const base = {
347
- display: 'flex',
348
- whitespace: 'nowrap',
349
- width: '100%',
350
- minHeight: 0,
351
- flexShrink: 1,
352
- paddingTop: '2px',
353
- };
354
- switch (this.state.transition.state) {
355
- case 'none':
356
- return {
357
- ...base,
358
- flexDirection: 'column',
359
- overflowY: 'auto',
360
- marginBottom: '0',
361
- };
362
- case 'start':
363
- case 'transitioning':
364
- let startingMargin = 0;
365
- let endingMargin = 0;
366
- switch (this.state.transition.direction) {
367
- case 'down':
368
- startingMargin = 0;
369
- endingMargin = -32;
370
- break;
371
- case 'up':
372
- startingMargin = -32;
373
- endingMargin = 0;
374
- break;
375
- }
376
- switch (this.state.transition.state) {
377
- case 'start':
378
- return {
379
- ...base,
380
- flexDirection: 'column',
381
- overflowY: 'hidden',
382
- marginBottom: `${startingMargin}px`,
383
- };
384
- case 'transitioning':
385
- return {
386
- ...base,
387
- flexDirection: 'column',
388
- overflowY: 'hidden',
389
- marginBottom: `${endingMargin}px`,
390
- transitionProperty: 'margin-bottom',
391
- transitionDuration: `${TRANSITION_TIME_MS}ms`,
392
- transitionTimingFunction: 'linear'
393
- };
394
- }
395
- }
396
- }
397
- styleLastCommitMovingUp(transitionState) {
398
- return this.styleLastCommit(transitionState, 0, -28);
399
- }
400
- styleLastCommitMovingDown(transitionState) {
401
- return this.styleLastCommit(transitionState, -28, 0);
402
- }
403
- styleLastCommit(transitionState, startingMarginTop, startingMarginBottom) {
404
- const base = {
405
- display: 'flex',
406
- width: '100%',
407
- overflow: 'hidden',
408
- paddingTop: 0,
409
- paddingBottom: 0,
410
- borderTop: 0,
411
- borderBottom: 0,
412
- height: this.lastCommitHeight * 2
413
- };
414
- // We end with top and bottom margins switched
415
- const endingMarginTop = startingMarginBottom;
416
- const endingMarginBottom = startingMarginTop;
417
- switch (transitionState) {
418
- case 'start':
419
- return {
420
- ...base,
421
- position: 'relative',
422
- flexDirection: 'column',
423
- marginTop: startingMarginTop,
424
- marginBottom: startingMarginBottom,
425
- };
426
- case 'transitioning':
427
- return {
428
- ...base,
429
- position: 'relative',
430
- flexDirection: 'column',
431
- marginTop: endingMarginTop,
432
- marginBottom: endingMarginBottom,
433
- transitionProperty: 'margin-top margin-bottom',
434
- transitionDuration: `${TRANSITION_TIME_MS}ms`,
435
- transitionTimingFunction: 'linear'
436
- };
437
- }
438
- }
439
- async doUnamendAll() {
440
- while (this.state.amendingCommits.length > 0) {
441
- this.unamend();
442
- await new Promise(resolve => setTimeout(resolve, TRANSITION_TIME_MS));
443
- }
444
- }
445
- async doClearAmending() {
446
- await this.clearAmendingCommits();
447
- this.setState({ amendingCommits: [] });
448
- }
449
- }
450
- exports.ScmAmendComponent = ScmAmendComponent;
451
- (function (ScmAmendComponent) {
452
- let Styles;
453
- (function (Styles) {
454
- Styles.COMMIT_CONTAINER = 'theia-scm-commit-container';
455
- Styles.COMMIT_AND_BUTTON = 'theia-scm-commit-and-button';
456
- Styles.COMMIT_AVATAR_AND_TEXT = 'theia-scm-commit-avatar-and-text';
457
- Styles.COMMIT_DETAILS = 'theia-scm-commit-details';
458
- Styles.COMMIT_MESSAGE_AVATAR = 'theia-scm-commit-message-avatar';
459
- Styles.COMMIT_MESSAGE_SUMMARY = 'theia-scm-commit-message-summary';
460
- Styles.LAST_COMMIT_MESSAGE_TIME = 'theia-scm-commit-message-time';
461
- Styles.FLEX_CENTER = 'theia-scm-flex-container-center';
462
- })(Styles = ScmAmendComponent.Styles || (ScmAmendComponent.Styles = {}));
463
- })(ScmAmendComponent || (exports.ScmAmendComponent = ScmAmendComponent = {}));
464
- //# sourceMappingURL=scm-amend-component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scm-amend-component.js","sourceRoot":"","sources":["../../src/browser/scm-amend-component.tsx"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /// <reference types="react" />
2
- import { SelectionService } from '@theia/core/lib/common';
3
- import * as React from '@theia/core/shared/react';
4
- import { ContextMenuRenderer, ReactWidget, LabelProvider, KeybindingRegistry, StorageService } from '@theia/core/lib/browser';
5
- import { ScmService } from './scm-service';
6
- import { ScmAvatarService } from './scm-avatar-service';
7
- export declare class ScmAmendWidget extends ReactWidget {
8
- protected readonly contextMenuRenderer: ContextMenuRenderer;
9
- static ID: string;
10
- protected readonly scmService: ScmService;
11
- protected readonly avatarService: ScmAvatarService;
12
- protected readonly storageService: StorageService;
13
- protected readonly selectionService: SelectionService;
14
- protected readonly labelProvider: LabelProvider;
15
- protected readonly keybindings: KeybindingRegistry;
16
- protected shouldScrollToRow: boolean;
17
- constructor(contextMenuRenderer: ContextMenuRenderer);
18
- protected render(): React.ReactNode;
19
- protected setInputValue: (event: React.FormEvent<HTMLTextAreaElement> | React.ChangeEvent<HTMLTextAreaElement> | string) => void;
20
- }
21
- //# sourceMappingURL=scm-amend-widget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scm-amend-widget.d.ts","sourceRoot":"","sources":["../../src/browser/scm-amend-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACH,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EACtF,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,qBACa,cAAe,SAAQ,WAAW;IAcV,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB;IAZ5F,MAAM,CAAC,EAAE,SAAsB;IAEX,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAE/E,SAAS,CAAC,iBAAiB,UAAQ;gBAGiB,mBAAmB,EAAE,mBAAmB;IAU5F,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;IAkBnC,SAAS,CAAC,aAAa,UAAW,MAAM,SAAS,CAAC,mBAAmB,CAAC,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,GAAG,MAAM,UAKtH;CAEL"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2020 Arm and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- var ScmAmendWidget_1;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.ScmAmendWidget = void 0;
20
- const tslib_1 = require("tslib");
21
- const inversify_1 = require("@theia/core/shared/inversify");
22
- const common_1 = require("@theia/core/lib/common");
23
- const React = require("@theia/core/shared/react");
24
- const browser_1 = require("@theia/core/lib/browser");
25
- const scm_service_1 = require("./scm-service");
26
- const scm_avatar_service_1 = require("./scm-avatar-service");
27
- const scm_amend_component_1 = require("./scm-amend-component");
28
- let ScmAmendWidget = ScmAmendWidget_1 = class ScmAmendWidget extends browser_1.ReactWidget {
29
- constructor(contextMenuRenderer) {
30
- super();
31
- this.contextMenuRenderer = contextMenuRenderer;
32
- this.shouldScrollToRow = true;
33
- this.setInputValue = (event) => {
34
- const repository = this.scmService.selectedRepository;
35
- if (repository) {
36
- repository.input.value = typeof event === 'string' ? event : event.currentTarget.value;
37
- }
38
- };
39
- this.scrollOptions = {
40
- suppressScrollX: true,
41
- minScrollbarLength: 35
42
- };
43
- this.id = ScmAmendWidget_1.ID;
44
- }
45
- render() {
46
- const repository = this.scmService.selectedRepository;
47
- if (repository && repository.provider.amendSupport) {
48
- return React.createElement(scm_amend_component_1.ScmAmendComponent, {
49
- key: `amend:${repository.provider.rootUri}`,
50
- style: { flexGrow: 0 },
51
- repository: repository,
52
- scmAmendSupport: repository.provider.amendSupport,
53
- setCommitMessage: this.setInputValue,
54
- avatarService: this.avatarService,
55
- storageService: this.storageService,
56
- });
57
- }
58
- }
59
- };
60
- exports.ScmAmendWidget = ScmAmendWidget;
61
- ScmAmendWidget.ID = 'scm-amend-widget';
62
- tslib_1.__decorate([
63
- (0, inversify_1.inject)(scm_service_1.ScmService),
64
- tslib_1.__metadata("design:type", scm_service_1.ScmService)
65
- ], ScmAmendWidget.prototype, "scmService", void 0);
66
- tslib_1.__decorate([
67
- (0, inversify_1.inject)(scm_avatar_service_1.ScmAvatarService),
68
- tslib_1.__metadata("design:type", scm_avatar_service_1.ScmAvatarService)
69
- ], ScmAmendWidget.prototype, "avatarService", void 0);
70
- tslib_1.__decorate([
71
- (0, inversify_1.inject)(browser_1.StorageService),
72
- tslib_1.__metadata("design:type", Object)
73
- ], ScmAmendWidget.prototype, "storageService", void 0);
74
- tslib_1.__decorate([
75
- (0, inversify_1.inject)(common_1.SelectionService),
76
- tslib_1.__metadata("design:type", common_1.SelectionService)
77
- ], ScmAmendWidget.prototype, "selectionService", void 0);
78
- tslib_1.__decorate([
79
- (0, inversify_1.inject)(browser_1.LabelProvider),
80
- tslib_1.__metadata("design:type", browser_1.LabelProvider)
81
- ], ScmAmendWidget.prototype, "labelProvider", void 0);
82
- tslib_1.__decorate([
83
- (0, inversify_1.inject)(browser_1.KeybindingRegistry),
84
- tslib_1.__metadata("design:type", browser_1.KeybindingRegistry)
85
- ], ScmAmendWidget.prototype, "keybindings", void 0);
86
- exports.ScmAmendWidget = ScmAmendWidget = ScmAmendWidget_1 = tslib_1.__decorate([
87
- (0, inversify_1.injectable)(),
88
- tslib_1.__param(0, (0, inversify_1.inject)(browser_1.ContextMenuRenderer)),
89
- tslib_1.__metadata("design:paramtypes", [browser_1.ContextMenuRenderer])
90
- ], ScmAmendWidget);
91
- //# sourceMappingURL=scm-amend-widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scm-amend-widget.js","sourceRoot":"","sources":["../../src/browser/scm-amend-widget.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,qCAAqC;AACrC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,4DAAkE;AAClE,mDAA0D;AAC1D,kDAAkD;AAClD,qDAEiC;AACjC,+CAA2C;AAC3C,6DAAwD;AACxD,+DAA0D;AAGnD,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,qBAAW;IAa3C,YACiC,mBAA2D;QAExF,KAAK,EAAE,CAAC;QAFwC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAHlF,sBAAiB,GAAG,IAAI,CAAC;QA+BzB,kBAAa,GAAG,CAAC,KAA6F,EAAE,EAAE;YACxH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACtD,IAAI,UAAU,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3F,CAAC;QACL,CAAC,CAAC;QA9BE,IAAI,CAAC,aAAa,GAAG;YACjB,eAAe,EAAE,IAAI;YACrB,kBAAkB,EAAE,EAAE;SACzB,CAAC;QACF,IAAI,CAAC,EAAE,GAAG,gBAAc,CAAC,EAAE,CAAC;IAChC,CAAC;IAES,MAAM;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACtD,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,aAAa,CACtB,uCAAiB,EACjB;gBACI,GAAG,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;gBACtB,UAAU,EAAE,UAAU;gBACtB,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY;gBACjD,gBAAgB,EAAE,IAAI,CAAC,aAAa;gBACpC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CACJ,CAAC;QACN,CAAC;IACL,CAAC;;AAxCQ,wCAAc;AAEhB,iBAAE,GAAG,kBAAkB,AAArB,CAAsB;AAEQ;IAAtC,IAAA,kBAAM,EAAC,wBAAU,CAAC;sCAAgC,wBAAU;kDAAC;AACjB;IAA5C,IAAA,kBAAM,EAAC,qCAAgB,CAAC;sCAAmC,qCAAgB;qDAAC;AAClC;IAA1C,IAAA,kBAAM,EAAC,wBAAc,CAAC;;sDAAmD;AAC7B;IAA5C,IAAA,kBAAM,EAAC,yBAAgB,CAAC;sCAAsC,yBAAgB;wDAAC;AACtC;IAAzC,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCAAmC,uBAAa;qDAAC;AACxB;IAA9C,IAAA,kBAAM,EAAC,4BAAkB,CAAC;sCAAiC,4BAAkB;mDAAC;yBATtE,cAAc;IAD1B,IAAA,sBAAU,GAAE;IAeJ,mBAAA,IAAA,kBAAM,EAAC,6BAAmB,CAAC,CAAA;6CAAyC,6BAAmB;GAdnF,cAAc,CAiD1B"}
@@ -1,4 +0,0 @@
1
- export declare class ScmAvatarService {
2
- getAvatar(email: string): Promise<string>;
3
- }
4
- //# sourceMappingURL=scm-avatar-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scm-avatar-service.d.ts","sourceRoot":"","sources":["../../src/browser/scm-avatar-service.ts"],"names":[],"mappings":"AAmBA,qBACa,gBAAgB;IAEnB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIlD"}