@lapis-notes/history 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -1
  3. package/dist/repository/NOTICE.md +11 -0
  4. package/dist/repository/components/RepositoryAuthorAvatar.svelte +77 -0
  5. package/dist/repository/components/RepositoryAuthorAvatar.svelte.d.ts +11 -0
  6. package/dist/repository/components/RepositoryBackupStatus.svelte +236 -0
  7. package/dist/repository/components/RepositoryBackupStatus.svelte.d.ts +11 -0
  8. package/dist/repository/components/RepositoryChangedFiles.svelte +104 -0
  9. package/dist/repository/components/RepositoryChangedFiles.svelte.d.ts +13 -0
  10. package/dist/repository/components/RepositoryCommitMessage.svelte +93 -0
  11. package/dist/repository/components/RepositoryCommitMessage.svelte.d.ts +6 -0
  12. package/dist/repository/components/RepositoryCommitPicker.svelte +205 -0
  13. package/dist/repository/components/RepositoryCommitPicker.svelte.d.ts +17 -0
  14. package/dist/repository/components/RepositoryComparisonBar.svelte +71 -0
  15. package/dist/repository/components/RepositoryComparisonBar.svelte.d.ts +9 -0
  16. package/dist/repository/components/RepositoryComparisonTime.svelte +32 -0
  17. package/dist/repository/components/RepositoryComparisonTime.svelte.d.ts +6 -0
  18. package/dist/repository/components/RepositoryDiff.svelte +56 -0
  19. package/dist/repository/components/RepositoryDiff.svelte.d.ts +11 -0
  20. package/dist/repository/components/RepositoryDiffColumn.svelte +78 -0
  21. package/dist/repository/components/RepositoryDiffColumn.svelte.d.ts +14 -0
  22. package/dist/repository/components/RepositoryDiffControls.svelte +117 -0
  23. package/dist/repository/components/RepositoryDiffControls.svelte.d.ts +8 -0
  24. package/dist/repository/components/RepositoryFileHistory.svelte +170 -0
  25. package/dist/repository/components/RepositoryFileHistory.svelte.d.ts +10 -0
  26. package/dist/repository/components/RepositoryFileTitle.svelte +30 -0
  27. package/dist/repository/components/RepositoryFileTitle.svelte.d.ts +6 -0
  28. package/dist/repository/components/RepositoryGraph.svelte +216 -0
  29. package/dist/repository/components/RepositoryGraph.svelte.d.ts +19 -0
  30. package/dist/repository/components/RepositoryGraphSvg.svelte +110 -0
  31. package/dist/repository/components/RepositoryGraphSvg.svelte.d.ts +11 -0
  32. package/dist/repository/components/RepositoryIdentifiers.svelte +221 -0
  33. package/dist/repository/components/RepositoryIdentifiers.svelte.d.ts +15 -0
  34. package/dist/repository/components/RepositoryLogHeader.svelte +90 -0
  35. package/dist/repository/components/RepositoryLogHeader.svelte.d.ts +23 -0
  36. package/dist/repository/components/RepositoryOperationArguments.svelte +52 -0
  37. package/dist/repository/components/RepositoryOperationArguments.svelte.d.ts +6 -0
  38. package/dist/repository/components/RepositoryOperationColumn.svelte +163 -0
  39. package/dist/repository/components/RepositoryOperationColumn.svelte.d.ts +11 -0
  40. package/dist/repository/components/RepositoryOperationFiles.svelte +245 -0
  41. package/dist/repository/components/RepositoryOperationFiles.svelte.d.ts +14 -0
  42. package/dist/repository/components/RepositoryOperationMessage.svelte +169 -0
  43. package/dist/repository/components/RepositoryOperationMessage.svelte.d.ts +10 -0
  44. package/dist/repository/components/RepositoryOperationOption.svelte +183 -0
  45. package/dist/repository/components/RepositoryOperationOption.svelte.d.ts +10 -0
  46. package/dist/repository/components/RepositoryOperationParentPicker.svelte +188 -0
  47. package/dist/repository/components/RepositoryOperationParentPicker.svelte.d.ts +14 -0
  48. package/dist/repository/components/RepositoryOperationPinPicker.svelte +170 -0
  49. package/dist/repository/components/RepositoryOperationPinPicker.svelte.d.ts +13 -0
  50. package/dist/repository/components/RepositoryOperationRail.svelte +136 -0
  51. package/dist/repository/components/RepositoryOperationRail.svelte.d.ts +9 -0
  52. package/dist/repository/components/RepositoryOperationTarget.svelte +99 -0
  53. package/dist/repository/components/RepositoryOperationTarget.svelte.d.ts +8 -0
  54. package/dist/repository/components/RepositoryOperations.svelte +199 -0
  55. package/dist/repository/components/RepositoryOperations.svelte.d.ts +12 -0
  56. package/dist/repository/components/RepositoryPanel.svelte +207 -0
  57. package/dist/repository/components/RepositoryPanel.svelte.d.ts +15 -0
  58. package/dist/repository/components/RepositoryParentSummary.svelte +52 -0
  59. package/dist/repository/components/RepositoryParentSummary.svelte.d.ts +10 -0
  60. package/dist/repository/components/RepositoryPickerSearch.svelte +51 -0
  61. package/dist/repository/components/RepositoryPickerSearch.svelte.d.ts +11 -0
  62. package/dist/repository/components/RepositoryRestoreDialog.svelte +81 -0
  63. package/dist/repository/components/RepositoryRestoreDialog.svelte.d.ts +7 -0
  64. package/dist/repository/components/RepositoryRevisionActions.svelte +53 -0
  65. package/dist/repository/components/RepositoryRevisionActions.svelte.d.ts +9 -0
  66. package/dist/repository/components/RepositoryRevisionFiles.svelte +110 -0
  67. package/dist/repository/components/RepositoryRevisionFiles.svelte.d.ts +14 -0
  68. package/dist/repository/components/RepositoryRevisionOption.svelte +60 -0
  69. package/dist/repository/components/RepositoryRevisionOption.svelte.d.ts +9 -0
  70. package/dist/repository/components/RepositoryRevisionPicker.svelte +165 -0
  71. package/dist/repository/components/RepositoryRevisionPicker.svelte.d.ts +14 -0
  72. package/dist/repository/components/RepositoryRevisions.svelte +115 -0
  73. package/dist/repository/components/RepositoryRevisions.svelte.d.ts +20 -0
  74. package/dist/repository/components/RepositoryShell.svelte +44 -0
  75. package/dist/repository/components/RepositoryShell.svelte.d.ts +11 -0
  76. package/dist/repository/components/RepositorySkeleton.svelte +138 -0
  77. package/dist/repository/components/RepositorySkeleton.svelte.d.ts +7 -0
  78. package/dist/repository/components/RepositorySourcePicker.svelte +114 -0
  79. package/dist/repository/components/RepositorySourcePicker.svelte.d.ts +7 -0
  80. package/dist/repository/components/RepositoryUpstreamActions.svelte +125 -0
  81. package/dist/repository/components/RepositoryUpstreamActions.svelte.d.ts +8 -0
  82. package/dist/repository/components/RepositoryWorkingCopyStatus.svelte +290 -0
  83. package/dist/repository/components/RepositoryWorkingCopyStatus.svelte.d.ts +11 -0
  84. package/dist/repository/components/RepositoryWorkspacePicker.svelte +158 -0
  85. package/dist/repository/components/RepositoryWorkspacePicker.svelte.d.ts +11 -0
  86. package/dist/repository/components/backup/AdoptionSettings.svelte +95 -0
  87. package/dist/repository/components/backup/AdoptionSettings.svelte.d.ts +7 -0
  88. package/dist/repository/components/backup/BackupCard.svelte +79 -0
  89. package/dist/repository/components/backup/BackupCard.svelte.d.ts +14 -0
  90. package/dist/repository/components/backup/BackupField.svelte +45 -0
  91. package/dist/repository/components/backup/BackupField.svelte.d.ts +10 -0
  92. package/dist/repository/components/backup/BackupSelect.svelte +71 -0
  93. package/dist/repository/components/backup/BackupSelect.svelte.d.ts +35 -0
  94. package/dist/repository/components/backup/BackupSettings.svelte +122 -0
  95. package/dist/repository/components/backup/BackupSettings.svelte.d.ts +18 -0
  96. package/dist/repository/components/backup/BackupSettingsField.svelte +13 -0
  97. package/dist/repository/components/backup/BackupSettingsField.svelte.d.ts +4 -0
  98. package/dist/repository/components/backup/ForgeAccounts.svelte +231 -0
  99. package/dist/repository/components/backup/ForgeAccounts.svelte.d.ts +9 -0
  100. package/dist/repository/components/backup/ForgeAuthorization.svelte +267 -0
  101. package/dist/repository/components/backup/ForgeAuthorization.svelte.d.ts +9 -0
  102. package/dist/repository/components/backup/ForgeIcon.svelte +21 -0
  103. package/dist/repository/components/backup/ForgeIcon.svelte.d.ts +7 -0
  104. package/dist/repository/components/backup/PublicationRecovery.svelte +129 -0
  105. package/dist/repository/components/backup/PublicationRecovery.svelte.d.ts +11 -0
  106. package/dist/repository/components/backup/RemoteSettings.svelte +288 -0
  107. package/dist/repository/components/backup/RemoteSettings.svelte.d.ts +11 -0
  108. package/dist/repository/components/backup/RepositorySettingsPage.svelte +51 -0
  109. package/dist/repository/components/backup/RepositorySettingsPage.svelte.d.ts +4 -0
  110. package/dist/repository/components/backup/StorageSettings.svelte +158 -0
  111. package/dist/repository/components/backup/StorageSettings.svelte.d.ts +7 -0
  112. package/dist/repository/components/backup/SyncConflictEditor.svelte +158 -0
  113. package/dist/repository/components/backup/SyncConflictEditor.svelte.d.ts +9 -0
  114. package/dist/repository/components/backup/SyncSettings.svelte +97 -0
  115. package/dist/repository/components/backup/SyncSettings.svelte.d.ts +9 -0
  116. package/dist/repository/components/backup/adoption-settings.d.ts +7 -0
  117. package/dist/repository/components/backup/adoption-settings.js +42 -0
  118. package/dist/repository/components/backup/backup-settings.d.ts +35 -0
  119. package/dist/repository/components/backup/backup-settings.js +96 -0
  120. package/dist/repository/components/backup/forge-icons.d.ts +10 -0
  121. package/dist/repository/components/backup/forge-icons.js +11 -0
  122. package/dist/repository/components/backup/remote-restore.d.ts +3 -0
  123. package/dist/repository/components/backup/remote-restore.js +17 -0
  124. package/dist/repository/components/backup/storage-settings.d.ts +8 -0
  125. package/dist/repository/components/backup/storage-settings.js +23 -0
  126. package/dist/repository/components/blame/RepositoryBlameCommitTitle.svelte +212 -0
  127. package/dist/repository/components/blame/RepositoryBlameCommitTitle.svelte.d.ts +14 -0
  128. package/dist/repository/components/blame/RepositoryBlameGroup.svelte +189 -0
  129. package/dist/repository/components/blame/RepositoryBlameGroup.svelte.d.ts +20 -0
  130. package/dist/repository/components/blame/RepositoryBlamePanel.svelte +148 -0
  131. package/dist/repository/components/blame/RepositoryBlamePanel.svelte.d.ts +13 -0
  132. package/dist/repository/components/blame/RepositoryBlameRows.svelte +137 -0
  133. package/dist/repository/components/blame/RepositoryBlameRows.svelte.d.ts +32 -0
  134. package/dist/repository/components/blame/RepositoryBlameView.svelte +121 -0
  135. package/dist/repository/components/blame/RepositoryBlameView.svelte.d.ts +16 -0
  136. package/dist/repository/components/blame/blame-view.d.ts +16 -0
  137. package/dist/repository/components/blame/blame-view.js +73 -0
  138. package/dist/repository/components/blame/editor-actions.d.ts +3 -0
  139. package/dist/repository/components/blame/editor-actions.js +53 -0
  140. package/dist/repository/components/conflicts/RepositoryConflictActions.svelte +83 -0
  141. package/dist/repository/components/conflicts/RepositoryConflictActions.svelte.d.ts +13 -0
  142. package/dist/repository/components/conflicts/RepositoryConflictBody.svelte +93 -0
  143. package/dist/repository/components/conflicts/RepositoryConflictBody.svelte.d.ts +16 -0
  144. package/dist/repository/components/conflicts/RepositoryConflictFileTree.svelte +84 -0
  145. package/dist/repository/components/conflicts/RepositoryConflictFileTree.svelte.d.ts +21 -0
  146. package/dist/repository/components/conflicts/RepositoryConflictPath.svelte +35 -0
  147. package/dist/repository/components/conflicts/RepositoryConflictPath.svelte.d.ts +9 -0
  148. package/dist/repository/components/conflicts/RepositoryConflictResolution.svelte +133 -0
  149. package/dist/repository/components/conflicts/RepositoryConflictResolution.svelte.d.ts +12 -0
  150. package/dist/repository/components/conflicts/RepositoryConflictSurface.svelte +105 -0
  151. package/dist/repository/components/conflicts/RepositoryConflictSurface.svelte.d.ts +23 -0
  152. package/dist/repository/components/conflicts/RepositoryConflictText.svelte +104 -0
  153. package/dist/repository/components/conflicts/RepositoryConflictText.svelte.d.ts +26 -0
  154. package/dist/repository/components/conflicts/RepositorySidebarToggleIcon.svelte +52 -0
  155. package/dist/repository/components/conflicts/RepositorySidebarToggleIcon.svelte.d.ts +7 -0
  156. package/dist/repository/components/conflicts/repository-conflict-file-tree.css +73 -0
  157. package/dist/repository/components/conflicts/repository-conflicts.css +125 -0
  158. package/dist/repository/components/file-history-view.d.ts +15 -0
  159. package/dist/repository/components/file-history-view.js +110 -0
  160. package/dist/repository/components/operation-view.d.ts +16 -0
  161. package/dist/repository/components/operation-view.js +95 -0
  162. package/dist/repository/components/repository-backup.d.ts +22 -0
  163. package/dist/repository/components/repository-backup.js +75 -0
  164. package/dist/repository/components/repository-column-chrome.css +35 -0
  165. package/dist/repository/components/repository-commit-picker.css +55 -0
  166. package/dist/repository/components/repository-feedback.d.ts +7 -0
  167. package/dist/repository/components/repository-feedback.js +40 -0
  168. package/dist/repository/components/repository-identifiers.css +199 -0
  169. package/dist/repository/components/repository-navigation.d.ts +4 -0
  170. package/dist/repository/components/repository-navigation.js +16 -0
  171. package/dist/repository/components/repository-operation-column.css +112 -0
  172. package/dist/repository/components/repository-picker-options.css +11 -0
  173. package/dist/repository/components/repository-plugin.d.ts +33 -0
  174. package/dist/repository/components/repository-plugin.js +191 -0
  175. package/dist/repository/components/repository-review-identifiers.css +50 -0
  176. package/dist/repository/components/repository-status.d.ts +13 -0
  177. package/dist/repository/components/repository-status.js +227 -0
  178. package/dist/repository/components/repository-sync.d.ts +13 -0
  179. package/dist/repository/components/repository-sync.js +93 -0
  180. package/dist/repository/components/repository-tools.d.ts +3 -0
  181. package/dist/repository/components/repository-tools.js +13 -0
  182. package/dist/repository/components/repository-view.d.ts +16 -0
  183. package/dist/repository/components/repository-view.js +140 -0
  184. package/dist/repository/components/restore-controller.d.ts +9 -0
  185. package/dist/repository/components/restore-controller.js +44 -0
  186. package/dist/repository/components/search/search-provider.d.ts +3 -0
  187. package/dist/repository/components/search/search-provider.js +185 -0
  188. package/dist/repository/controllers/adoption-controller.d.ts +29 -0
  189. package/dist/repository/controllers/adoption-controller.js +145 -0
  190. package/dist/repository/controllers/adoption.d.ts +30 -0
  191. package/dist/repository/controllers/adoption.js +21 -0
  192. package/dist/repository/controllers/ai-history.d.ts +57 -0
  193. package/dist/repository/controllers/ai-history.js +51 -0
  194. package/dist/repository/controllers/author.d.ts +2 -0
  195. package/dist/repository/controllers/author.js +11 -0
  196. package/dist/repository/controllers/background-work.d.ts +14 -0
  197. package/dist/repository/controllers/background-work.js +57 -0
  198. package/dist/repository/controllers/backup-follow.d.ts +5 -0
  199. package/dist/repository/controllers/backup-follow.js +29 -0
  200. package/dist/repository/controllers/backup.d.ts +39 -0
  201. package/dist/repository/controllers/backup.js +129 -0
  202. package/dist/repository/controllers/blame-chunks.d.ts +13 -0
  203. package/dist/repository/controllers/blame-chunks.js +51 -0
  204. package/dist/repository/controllers/blame-controller.d.ts +17 -0
  205. package/dist/repository/controllers/blame-controller.js +148 -0
  206. package/dist/repository/controllers/blame-model.d.ts +25 -0
  207. package/dist/repository/controllers/blame-model.js +31 -0
  208. package/dist/repository/controllers/blame-preferences.d.ts +3 -0
  209. package/dist/repository/controllers/blame-preferences.js +18 -0
  210. package/dist/repository/controllers/commit-cards.d.ts +4 -0
  211. package/dist/repository/controllers/commit-cards.js +38 -0
  212. package/dist/repository/controllers/conflict-menu.d.ts +2 -0
  213. package/dist/repository/controllers/conflict-menu.js +1 -0
  214. package/dist/repository/controllers/file-history-controller.d.ts +29 -0
  215. package/dist/repository/controllers/file-history-controller.js +182 -0
  216. package/dist/repository/controllers/forge-accounts.d.ts +48 -0
  217. package/dist/repository/controllers/forge-accounts.js +1 -0
  218. package/dist/repository/controllers/forge-controller.d.ts +24 -0
  219. package/dist/repository/controllers/forge-controller.js +168 -0
  220. package/dist/repository/controllers/graph/model.d.ts +20 -0
  221. package/dist/repository/controllers/graph/model.js +33 -0
  222. package/dist/repository/controllers/graph/repository-log-graph.d.ts +44 -0
  223. package/dist/repository/controllers/graph/repository-log-graph.js +182 -0
  224. package/dist/repository/controllers/graph/repository-log-lanes.d.ts +7 -0
  225. package/dist/repository/controllers/graph/repository-log-lanes.js +19 -0
  226. package/dist/repository/controllers/graph/revision-id.d.ts +3 -0
  227. package/dist/repository/controllers/graph/revision-id.js +10 -0
  228. package/dist/repository/controllers/history-canvas.d.ts +2 -0
  229. package/dist/repository/controllers/history-canvas.js +45 -0
  230. package/dist/repository/controllers/history-controller.d.ts +31 -0
  231. package/dist/repository/controllers/history-controller.js +238 -0
  232. package/dist/repository/controllers/history-files.d.ts +7 -0
  233. package/dist/repository/controllers/history-files.js +18 -0
  234. package/dist/repository/controllers/history-graph.d.ts +20 -0
  235. package/dist/repository/controllers/history-graph.js +89 -0
  236. package/dist/repository/controllers/history-index-controller.d.ts +22 -0
  237. package/dist/repository/controllers/history-index-controller.js +77 -0
  238. package/dist/repository/controllers/history-lifetime.d.ts +13 -0
  239. package/dist/repository/controllers/history-lifetime.js +40 -0
  240. package/dist/repository/controllers/history-reader.d.ts +22 -0
  241. package/dist/repository/controllers/history-reader.js +1 -0
  242. package/dist/repository/controllers/history-search-expression.d.ts +9 -0
  243. package/dist/repository/controllers/history-search-expression.js +86 -0
  244. package/dist/repository/controllers/history-selection.d.ts +5 -0
  245. package/dist/repository/controllers/history-selection.js +32 -0
  246. package/dist/repository/controllers/history-source.d.ts +10 -0
  247. package/dist/repository/controllers/history-source.js +7 -0
  248. package/dist/repository/controllers/history-state.d.ts +34 -0
  249. package/dist/repository/controllers/history-state.js +55 -0
  250. package/dist/repository/controllers/indexed-search-validation.d.ts +4 -0
  251. package/dist/repository/controllers/indexed-search-validation.js +64 -0
  252. package/dist/repository/controllers/indexed-search.d.ts +11 -0
  253. package/dist/repository/controllers/indexed-search.js +1 -0
  254. package/dist/repository/controllers/log-canvas.d.ts +2 -0
  255. package/dist/repository/controllers/log-canvas.js +25 -0
  256. package/dist/repository/controllers/native-indexed-search.d.ts +4 -0
  257. package/dist/repository/controllers/native-indexed-search.js +10 -0
  258. package/dist/repository/controllers/open-history-revision.d.ts +3 -0
  259. package/dist/repository/controllers/open-history-revision.js +8 -0
  260. package/dist/repository/controllers/operation-command.d.ts +2 -0
  261. package/dist/repository/controllers/operation-command.js +55 -0
  262. package/dist/repository/controllers/operation-controller.d.ts +33 -0
  263. package/dist/repository/controllers/operation-controller.js +267 -0
  264. package/dist/repository/controllers/operation-files.d.ts +33 -0
  265. package/dist/repository/controllers/operation-files.js +182 -0
  266. package/dist/repository/controllers/operation-graph.d.ts +17 -0
  267. package/dist/repository/controllers/operation-graph.js +50 -0
  268. package/dist/repository/controllers/operation-message.d.ts +5 -0
  269. package/dist/repository/controllers/operation-message.js +18 -0
  270. package/dist/repository/controllers/operation-metadata.d.ts +5 -0
  271. package/dist/repository/controllers/operation-metadata.js +26 -0
  272. package/dist/repository/controllers/operation-parent.d.ts +5 -0
  273. package/dist/repository/controllers/operation-parent.js +46 -0
  274. package/dist/repository/controllers/operation-state.d.ts +28 -0
  275. package/dist/repository/controllers/operation-state.js +26 -0
  276. package/dist/repository/controllers/parent-candidates.d.ts +4 -0
  277. package/dist/repository/controllers/parent-candidates.js +27 -0
  278. package/dist/repository/controllers/plugin-data.d.ts +9 -0
  279. package/dist/repository/controllers/plugin-data.js +33 -0
  280. package/dist/repository/controllers/preparation-queue.d.ts +9 -0
  281. package/dist/repository/controllers/preparation-queue.js +55 -0
  282. package/dist/repository/controllers/remote-controller.d.ts +23 -0
  283. package/dist/repository/controllers/remote-controller.js +98 -0
  284. package/dist/repository/controllers/remote.d.ts +48 -0
  285. package/dist/repository/controllers/remote.js +13 -0
  286. package/dist/repository/controllers/restore-recovery.d.ts +3 -0
  287. package/dist/repository/controllers/restore-recovery.js +32 -0
  288. package/dist/repository/controllers/restore.d.ts +66 -0
  289. package/dist/repository/controllers/restore.js +201 -0
  290. package/dist/repository/controllers/revision-comparison.d.ts +20 -0
  291. package/dist/repository/controllers/revision-comparison.js +89 -0
  292. package/dist/repository/controllers/search-controller.d.ts +19 -0
  293. package/dist/repository/controllers/search-controller.js +105 -0
  294. package/dist/repository/controllers/search-page.d.ts +2 -0
  295. package/dist/repository/controllers/search-page.js +39 -0
  296. package/dist/repository/controllers/search.d.ts +51 -0
  297. package/dist/repository/controllers/search.js +8 -0
  298. package/dist/repository/controllers/services.d.ts +7 -0
  299. package/dist/repository/controllers/services.js +24 -0
  300. package/dist/repository/controllers/storage-controller.d.ts +30 -0
  301. package/dist/repository/controllers/storage-controller.js +130 -0
  302. package/dist/repository/controllers/storage.d.ts +26 -0
  303. package/dist/repository/controllers/storage.js +1 -0
  304. package/dist/repository/controllers/sync-application.d.ts +17 -0
  305. package/dist/repository/controllers/sync-application.js +45 -0
  306. package/dist/repository/controllers/sync-controller.d.ts +31 -0
  307. package/dist/repository/controllers/sync-controller.js +300 -0
  308. package/dist/repository/controllers/sync-publication.d.ts +7 -0
  309. package/dist/repository/controllers/sync-publication.js +29 -0
  310. package/dist/repository/controllers/sync-recovery.d.ts +7 -0
  311. package/dist/repository/controllers/sync-recovery.js +27 -0
  312. package/dist/repository/controllers/sync.d.ts +62 -0
  313. package/dist/repository/controllers/sync.js +38 -0
  314. package/dist/repository/controllers/tags.d.ts +7 -0
  315. package/dist/repository/controllers/tags.js +71 -0
  316. package/dist/repository/controllers/transcript-paths.d.ts +2 -0
  317. package/dist/repository/controllers/transcript-paths.js +17 -0
  318. package/dist/repository/controllers/transcript-writers.d.ts +9 -0
  319. package/dist/repository/controllers/transcript-writers.js +37 -0
  320. package/dist/repository/controllers/working-copy-controller.d.ts +22 -0
  321. package/dist/repository/controllers/working-copy-controller.js +58 -0
  322. package/dist/repository/controllers/working-copy-status.d.ts +16 -0
  323. package/dist/repository/controllers/working-copy-status.js +57 -0
  324. package/dist/repository/controllers/workspaces.d.ts +7 -0
  325. package/dist/repository/controllers/workspaces.js +4 -0
  326. package/dist/repository/index.d.ts +9 -0
  327. package/dist/repository/index.js +6 -0
  328. package/manifest.json +2 -2
  329. package/package.json +41 -9
@@ -0,0 +1,84 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+ import {
4
+ FileListing,
5
+ FileListingViewModeToggle,
6
+ FileChangeStats,
7
+ type FileListingFile,
8
+ type FileListingDirectory,
9
+ type FileListingViewMode,
10
+ } from "@lapismd/design-core/diff";
11
+ import "./repository-conflict-file-tree.css";
12
+
13
+ let {
14
+ files,
15
+ directories = [],
16
+ mode = "tree",
17
+ collapsedDirectoryPaths,
18
+ selectedPath = "",
19
+ hasMore = false,
20
+ loading = false,
21
+ showChangeStats = false,
22
+ onSelectPath,
23
+ onLoadMore,
24
+ onModeChange,
25
+ onDirectoryToggle,
26
+ empty,
27
+ }: {
28
+ files: readonly FileListingFile[];
29
+ directories?: readonly FileListingDirectory[];
30
+ mode?: FileListingViewMode;
31
+ collapsedDirectoryPaths?: ReadonlySet<string>;
32
+ selectedPath?: string | undefined;
33
+ hasMore?: boolean;
34
+ loading?: boolean;
35
+ showChangeStats?: boolean;
36
+ onSelectPath: (path: string) => void;
37
+ onLoadMore?: () => void;
38
+ onModeChange?: (mode: FileListingViewMode) => void;
39
+ onDirectoryToggle?: (path: string) => void;
40
+ empty?: Snippet;
41
+ } = $props();
42
+ </script>
43
+
44
+ <div class="community-projects__file-tree">
45
+ <div class="community-projects__file-tree-actions">
46
+ <span class="community-projects__file-tree-title">Files</span>
47
+ <span class="community-projects__file-tree-count">{files.length}</span>
48
+ <FileListingViewModeToggle {mode} {onModeChange} />
49
+ </div>
50
+ {#if !files.length && !directories.length && empty}
51
+ {@render empty()}
52
+ {:else}
53
+ <div class="review-conflict-file-list">
54
+ <FileListing
55
+ files={[...files]}
56
+ directories={[...directories]}
57
+ {mode}
58
+ {collapsedDirectoryPaths}
59
+ selectedPath={selectedPath || null}
60
+ virtualize
61
+ {hasMore}
62
+ {loading}
63
+ loadingLabel="Loading more repository files"
64
+ {onSelectPath}
65
+ {onLoadMore}
66
+ {onDirectoryToggle}
67
+ >
68
+ {#snippet fileLabel({ name })}<span class="review-conflict-file-label"
69
+ >{name}</span
70
+ >{/snippet}
71
+ {#snippet fileMeta({ file })}
72
+ {#if showChangeStats}
73
+ {#if typeof file.additions === "number" && typeof file.deletions === "number"}
74
+ <FileChangeStats
75
+ additions={file.additions}
76
+ deletions={file.deletions}
77
+ />
78
+ {:else}<span class="sr-only">Line counts unavailable</span>{/if}
79
+ {:else}<span class="sr-only">Repository file</span>{/if}
80
+ {/snippet}
81
+ </FileListing>
82
+ </div>
83
+ {/if}
84
+ </div>
@@ -0,0 +1,21 @@
1
+ import type { Snippet } from "svelte";
2
+ import { type FileListingFile, type FileListingDirectory, type FileListingViewMode } from "@lapismd/design-core/diff";
3
+ import "./repository-conflict-file-tree.css";
4
+ type $$ComponentProps = {
5
+ files: readonly FileListingFile[];
6
+ directories?: readonly FileListingDirectory[];
7
+ mode?: FileListingViewMode;
8
+ collapsedDirectoryPaths?: ReadonlySet<string>;
9
+ selectedPath?: string | undefined;
10
+ hasMore?: boolean;
11
+ loading?: boolean;
12
+ showChangeStats?: boolean;
13
+ onSelectPath: (path: string) => void;
14
+ onLoadMore?: () => void;
15
+ onModeChange?: (mode: FileListingViewMode) => void;
16
+ onDirectoryToggle?: (path: string) => void;
17
+ empty?: Snippet;
18
+ };
19
+ declare const RepositoryConflictFileTree: import("svelte").Component<$$ComponentProps, {}, "">;
20
+ type RepositoryConflictFileTree = ReturnType<typeof RepositoryConflictFileTree>;
21
+ export default RepositoryConflictFileTree;
@@ -0,0 +1,35 @@
1
+ <script lang="ts">
2
+ import { untrack } from "svelte";
3
+ import type { LocalConflictDescriptor } from "@lapismd/jj-history";
4
+ import RepositoryConflictText from "./RepositoryConflictText.svelte";
5
+ let {
6
+ conflict,
7
+ draft,
8
+ onChange,
9
+ }: {
10
+ conflict: LocalConflictDescriptor;
11
+ draft?: string;
12
+ onChange(content: string): void;
13
+ } = $props();
14
+ // This seed belongs to this mounted path; keystrokes must not rebuild the editor.
15
+ const seed = untrack(
16
+ () =>
17
+ draft ??
18
+ (conflict.editor.status === "text" ? conflict.editor.contents[1] : ""),
19
+ );
20
+ </script>
21
+
22
+ <section class="store-conflict-path" aria-label={`Conflict ${conflict.path}`}>
23
+ {#if conflict.editor.status === "text" && conflict.editor.contents.length === 3}
24
+ <div class="store-conflict-path__editor">
25
+ <RepositoryConflictText
26
+ path={conflict.path}
27
+ left={conflict.editor.contents[0]}
28
+ base={seed}
29
+ right={conflict.editor.contents[2]}
30
+ editable
31
+ onResolvedChange={({ content }) => onChange(content)}
32
+ />
33
+ </div>
34
+ {:else}<p>Merge editor unavailable for this native conflict shape.</p>{/if}
35
+ </section>
@@ -0,0 +1,9 @@
1
+ import type { LocalConflictDescriptor } from "@lapismd/jj-history";
2
+ type $$ComponentProps = {
3
+ conflict: LocalConflictDescriptor;
4
+ draft?: string;
5
+ onChange(content: string): void;
6
+ };
7
+ declare const RepositoryConflictPath: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type RepositoryConflictPath = ReturnType<typeof RepositoryConflictPath>;
9
+ export default RepositoryConflictPath;
@@ -0,0 +1,133 @@
1
+ <script lang="ts">
2
+ import RepositorySkeleton from "../RepositorySkeleton.svelte";
3
+ import { untrack } from "svelte";
4
+ import { MediaQuery } from "svelte/reactivity";
5
+ import type { LocalConflictDescriptor } from "@lapismd/jj-history";
6
+ import { Button } from "@lapismd/design-core/shadcn/button";
7
+ import RepositoryConflictSurface from "./RepositoryConflictSurface.svelte";
8
+ import RepositoryConflictActions from "./RepositoryConflictActions.svelte";
9
+ import RepositoryConflictPath from "./RepositoryConflictPath.svelte";
10
+ let {
11
+ open,
12
+ conflicts,
13
+ ready,
14
+ busy,
15
+ onLoad,
16
+ onClose,
17
+ }: {
18
+ open: boolean;
19
+ conflicts: readonly LocalConflictDescriptor[];
20
+ ready: boolean;
21
+ busy: boolean;
22
+ onLoad(): void;
23
+ onClose(): void;
24
+ } = $props();
25
+ const compact = new MediaQuery("(max-width: 700px)");
26
+ let browserOpen = $state(true),
27
+ activePath = $state("");
28
+ let drafts = $state<Record<string, string>>({});
29
+ let staged = $state<
30
+ Record<string, { type: "delete" } | { type: "uploaded_file"; text: string }>
31
+ >({});
32
+ let preview = $state(false);
33
+ let requested = $state(false);
34
+ const active = $derived(
35
+ conflicts.find((c) => c.path === activePath) ?? conflicts[0],
36
+ );
37
+ const selected = $derived(active ? staged[active.path] : undefined);
38
+ $effect(() => {
39
+ if (compact.current) browserOpen = false;
40
+ });
41
+ $effect(() => {
42
+ if (open && !requested) {
43
+ requested = true;
44
+ untrack(() => onLoad());
45
+ }
46
+ });
47
+ function stage() {
48
+ if (active?.editor.status !== "text") return;
49
+ staged[active.path] = {
50
+ type: "uploaded_file",
51
+ text: drafts[active.path] ?? active.editor.contents[1] ?? "",
52
+ };
53
+ }
54
+ </script>
55
+
56
+ <RepositoryConflictSurface
57
+ {open}
58
+ label="Resolve native conflicts"
59
+ {busy}
60
+ locked={busy || preview}
61
+ bind:browserOpen
62
+ compact={compact.current}
63
+ files={conflicts}
64
+ activePath={active?.path ?? ""}
65
+ onSelect={(path) => {
66
+ activePath = path;
67
+ if (compact.current) browserOpen = false;
68
+ }}
69
+ {onClose}
70
+ >
71
+ {#snippet actions()}
72
+ {#if ready && active}<RepositoryConflictActions
73
+ {preview}
74
+ resolution={selected?.type}
75
+ selectedCount={Object.keys(staged).length}
76
+ pathCount={conflicts.length}
77
+ onDelete={() => {
78
+ if (!active) return;
79
+ if (selected?.type === "delete") delete staged[active.path];
80
+ else staged[active.path] = { type: "delete" };
81
+ }}
82
+ onStage={stage}
83
+ onPreview={() => {
84
+ if (Object.keys(staged).length) preview = true;
85
+ }}
86
+ onBack={() => (preview = false)}
87
+ />{/if}
88
+ {/snippet}
89
+ {#if !ready}
90
+ {#if busy}<RepositorySkeleton
91
+ kind="conflicts"
92
+ label="Loading native conflict details…"
93
+ />
94
+ {:else}<p role="status">Conflict details are unavailable.</p>
95
+ <Button variant="outline" size="sm" onclick={onLoad}
96
+ >Retry conflict details</Button
97
+ >
98
+ {/if}
99
+ {:else if !conflicts.length}<p>
100
+ No conflict descriptors are available for this revision.
101
+ </p>
102
+ {:else if preview}
103
+ <section
104
+ class="store-conflict-preview"
105
+ aria-label="Conflict resolution preview"
106
+ >
107
+ <h2>Resolution draft</h2>
108
+ {#each Object.entries(staged) as [path, resolution] (path)}
109
+ <p>{resolution.type === "delete" ? "Delete" : "Replace"} {path}</p>
110
+ {#if resolution.type === "uploaded_file"}<pre><code
111
+ >{resolution.text}</code
112
+ ></pre>{/if}
113
+ {/each}
114
+ <p>
115
+ Draft retained locally while this revision stays selected. Applying
116
+ repository changes is unavailable in this read-only plugin.
117
+ </p>
118
+ </section>
119
+ {:else if active}
120
+ <div class="store-conflict-editor__path">
121
+ {#key active.path}<RepositoryConflictPath
122
+ conflict={active}
123
+ draft={drafts[active.path]}
124
+ onChange={(content) => {
125
+ drafts[active.path] = content;
126
+ const current = staged[active.path];
127
+ if (current?.type === "uploaded_file" && current.text !== content)
128
+ delete staged[active.path];
129
+ }}
130
+ />{/key}
131
+ </div>
132
+ {/if}
133
+ </RepositoryConflictSurface>
@@ -0,0 +1,12 @@
1
+ import type { LocalConflictDescriptor } from "@lapismd/jj-history";
2
+ type $$ComponentProps = {
3
+ open: boolean;
4
+ conflicts: readonly LocalConflictDescriptor[];
5
+ ready: boolean;
6
+ busy: boolean;
7
+ onLoad(): void;
8
+ onClose(): void;
9
+ };
10
+ declare const RepositoryConflictResolution: import("svelte").Component<$$ComponentProps, {}, "">;
11
+ type RepositoryConflictResolution = ReturnType<typeof RepositoryConflictResolution>;
12
+ export default RepositoryConflictResolution;
@@ -0,0 +1,105 @@
1
+ <script lang="ts">
2
+ import { setContext, type Snippet } from "svelte";
3
+ import {
4
+ conflictMenuContext,
5
+ type ConflictMenuState,
6
+ } from "../../controllers/conflict-menu.js";
7
+ import { AppShell } from "@lapismd/design-core/shell";
8
+ import { Button } from "@lapismd/design-core/shadcn/button";
9
+ import XIcon from "@lucide/svelte/icons/x";
10
+ import RepositorySidebarToggleIcon from "./RepositorySidebarToggleIcon.svelte";
11
+ import RepositoryConflictBody from "./RepositoryConflictBody.svelte";
12
+ import "./repository-conflicts.css";
13
+ let bodyHeight = $state(0);
14
+ function measure(node: HTMLDivElement) {
15
+ const observer = new ResizeObserver(() => {
16
+ bodyHeight = node.clientHeight;
17
+ });
18
+ observer.observe(node);
19
+ return { destroy: () => observer.disconnect() };
20
+ }
21
+ let {
22
+ open,
23
+ label,
24
+ returnFocus,
25
+ busy,
26
+ dismissOnEscape = true,
27
+ locked,
28
+ browserOpen = $bindable(true),
29
+ compact,
30
+ files,
31
+ activePath,
32
+ onSelect,
33
+ onClose,
34
+ actions,
35
+ children,
36
+ }: {
37
+ open: boolean;
38
+ label: string;
39
+ returnFocus?: HTMLElement | null;
40
+ busy: boolean;
41
+ dismissOnEscape?: boolean;
42
+ locked: boolean;
43
+ browserOpen?: boolean;
44
+ compact: boolean;
45
+ files: readonly { path: string }[];
46
+ activePath: string;
47
+ onSelect: (path: string) => void;
48
+ onClose: () => void;
49
+ actions: Snippet;
50
+ children: Snippet;
51
+ } = $props();
52
+ const menus = new Set<symbol>();
53
+ let menuCount = $state(0);
54
+ setContext<ConflictMenuState>(conflictMenuContext, (id, next) => {
55
+ if (next) menus.add(id);
56
+ else menus.delete(id);
57
+ menuCount = menus.size;
58
+ });
59
+ </script>
60
+
61
+ <AppShell.SurfaceLayer
62
+ {open}
63
+ {returnFocus}
64
+ {label}
65
+ coverPanelIds={["right"]}
66
+ mobilePlacement="root"
67
+ dismissOnEscape={!busy && dismissOnEscape && menuCount === 0}
68
+ onDismiss={onClose}
69
+ class="store-conflict-editor"
70
+ >
71
+ <AppShell.SurfaceLayer.Header class="store-conflict-editor__header">
72
+ <Button
73
+ type="button"
74
+ variant="ghost"
75
+ size="icon-sm"
76
+ aria-label={`${browserOpen ? "Hide" : "Show"} conflict file browser`}
77
+ title={`${browserOpen ? "Hide" : "Show"} conflict file browser`}
78
+ aria-expanded={browserOpen}
79
+ aria-controls="conflict-file-browser"
80
+ onclick={() => (browserOpen = !browserOpen)}
81
+ ><RepositorySidebarToggleIcon expanded={browserOpen} /></Button
82
+ >
83
+ <h1 class="store-conflict-editor__title">Resolve conflicts</h1>
84
+ {@render actions()}
85
+ <Button
86
+ type="button"
87
+ variant="ghost"
88
+ size="icon-sm"
89
+ aria-label="Close conflict editor"
90
+ disabled={busy}
91
+ onclick={onClose}><XIcon aria-hidden="true" /></Button
92
+ >
93
+ </AppShell.SurfaceLayer.Header>
94
+ <div class="store-conflict-editor__body" use:measure>
95
+ <RepositoryConflictBody
96
+ {files}
97
+ height={bodyHeight}
98
+ {activePath}
99
+ {browserOpen}
100
+ {compact}
101
+ {locked}
102
+ {onSelect}>{@render children()}</RepositoryConflictBody
103
+ >
104
+ </div>
105
+ </AppShell.SurfaceLayer>
@@ -0,0 +1,23 @@
1
+ import { type Snippet } from "svelte";
2
+ import "./repository-conflicts.css";
3
+ type $$ComponentProps = {
4
+ open: boolean;
5
+ label: string;
6
+ returnFocus?: HTMLElement | null;
7
+ busy: boolean;
8
+ dismissOnEscape?: boolean;
9
+ locked: boolean;
10
+ browserOpen?: boolean;
11
+ compact: boolean;
12
+ files: readonly {
13
+ path: string;
14
+ }[];
15
+ activePath: string;
16
+ onSelect: (path: string) => void;
17
+ onClose: () => void;
18
+ actions: Snippet;
19
+ children: Snippet;
20
+ };
21
+ declare const RepositoryConflictSurface: import("svelte").Component<$$ComponentProps, {}, "browserOpen">;
22
+ type RepositoryConflictSurface = ReturnType<typeof RepositoryConflictSurface>;
23
+ export default RepositoryConflictSurface;
@@ -0,0 +1,104 @@
1
+ <script lang="ts">
2
+ import { getContext, onDestroy, type ComponentProps } from "svelte";
3
+ import { MergeEditor } from "@lapismd/design-core/diff";
4
+ import * as DropdownMenu from "@lapismd/design-core/shadcn/dropdown-menu";
5
+ import { Button } from "@lapismd/design-core/shadcn/button";
6
+ import EllipsisVertical from "@lucide/svelte/icons/ellipsis-vertical";
7
+ import {
8
+ conflictMenuContext,
9
+ type ConflictMenuState,
10
+ } from "../../controllers/conflict-menu.js";
11
+ let {
12
+ path,
13
+ headerActions: hostActions,
14
+ ...props
15
+ }: ComponentProps<typeof MergeEditor> = $props();
16
+ let settings = $state({
17
+ wrap: false,
18
+ syncHorizontalScroll: true,
19
+ ignoreWhitespace: false,
20
+ ignoreCase: false,
21
+ });
22
+ const ignoreWhitespace = $derived(
23
+ props.ignoreWhitespace ?? settings.ignoreWhitespace,
24
+ );
25
+ const ignoreCase = $derived(props.ignoreCase ?? settings.ignoreCase);
26
+ const menuId = Symbol("merge-settings");
27
+ const nestedMenu = getContext<ConflictMenuState | undefined>(
28
+ conflictMenuContext,
29
+ );
30
+ function update(patch: Partial<typeof settings>) {
31
+ settings = { ...settings, ...patch };
32
+ }
33
+ function menuOpen(next: boolean) {
34
+ if (next) nestedMenu?.(menuId, true);
35
+ else queueMicrotask(() => nestedMenu?.(menuId, false));
36
+ }
37
+ onDestroy(() => nestedMenu?.(menuId, false));
38
+ </script>
39
+
40
+ <MergeEditor
41
+ {path}
42
+ language={path?.endsWith(".md") ? "markdown" : null}
43
+ baseLabel="Resolved"
44
+ editableSides={["base"]}
45
+ {...props}
46
+ wrap={props.wrap ?? settings.wrap}
47
+ syncHorizontalScroll={props.syncHorizontalScroll ??
48
+ settings.syncHorizontalScroll}
49
+ {ignoreWhitespace}
50
+ {ignoreCase}
51
+ onResolvedChange={(change) =>
52
+ props.onResolvedChange?.({
53
+ ...change,
54
+ // Comparison filters cannot certify that a native conflict was resolved.
55
+ resolved: change.resolved && !ignoreWhitespace && !ignoreCase,
56
+ })}
57
+ >
58
+ {#snippet headerActions()}
59
+ {@render hostActions?.()}
60
+ <DropdownMenu.Root onOpenChange={menuOpen}>
61
+ <DropdownMenu.Trigger>
62
+ {#snippet child({ props: triggerProps })}
63
+ <Button
64
+ {...triggerProps}
65
+ variant="ghost"
66
+ size="icon-xs"
67
+ aria-label="Merge editor settings"
68
+ title="Merge editor settings"
69
+ >
70
+ <EllipsisVertical aria-hidden="true" />
71
+ </Button>
72
+ {/snippet}
73
+ </DropdownMenu.Trigger>
74
+ <DropdownMenu.Content align="end" style="min-width: 14rem">
75
+ <DropdownMenu.Group>
76
+ <DropdownMenu.CheckboxItem
77
+ checked={props.wrap ?? settings.wrap}
78
+ onCheckedChange={(wrap) => update({ wrap })}
79
+ closeOnSelect={false}>Wrap lines</DropdownMenu.CheckboxItem
80
+ >
81
+ <DropdownMenu.CheckboxItem
82
+ checked={props.syncHorizontalScroll ??
83
+ settings.syncHorizontalScroll}
84
+ onCheckedChange={(syncHorizontalScroll) =>
85
+ update({ syncHorizontalScroll })}
86
+ closeOnSelect={false}
87
+ >Sync horizontal scroll</DropdownMenu.CheckboxItem
88
+ >
89
+ <DropdownMenu.Separator />
90
+ <DropdownMenu.CheckboxItem
91
+ checked={ignoreWhitespace}
92
+ onCheckedChange={(ignoreWhitespace) => update({ ignoreWhitespace })}
93
+ closeOnSelect={false}>Ignore whitespace</DropdownMenu.CheckboxItem
94
+ >
95
+ <DropdownMenu.CheckboxItem
96
+ checked={ignoreCase}
97
+ onCheckedChange={(ignoreCase) => update({ ignoreCase })}
98
+ closeOnSelect={false}>Ignore case</DropdownMenu.CheckboxItem
99
+ >
100
+ </DropdownMenu.Group>
101
+ </DropdownMenu.Content>
102
+ </DropdownMenu.Root>
103
+ {/snippet}
104
+ </MergeEditor>
@@ -0,0 +1,26 @@
1
+ declare const RepositoryConflictText: import("svelte").Component<{
2
+ mode?: import("@lapismd/design-core/diff").MergeEditorMode;
3
+ left: string;
4
+ right: string;
5
+ base?: string;
6
+ leftLabel?: string;
7
+ baseLabel?: string;
8
+ rightLabel?: string;
9
+ path?: string;
10
+ headerCenter?: import("svelte").Snippet;
11
+ headerActions?: import("svelte").Snippet;
12
+ language?: string | null;
13
+ readOnly?: boolean;
14
+ editable?: boolean;
15
+ editableSides?: readonly import("@lapismd/design-core/diff").MergeSide[];
16
+ ignoreWhitespace?: boolean;
17
+ ignoreCase?: boolean;
18
+ syncHorizontalScroll?: boolean;
19
+ wrap?: boolean;
20
+ onLeftChange?: (content: string) => void;
21
+ onBaseChange?: (content: string) => void;
22
+ onRightChange?: (content: string) => void;
23
+ onResolvedChange?: (state: import("@lapismd/design-core/diff").MergeResolvedChange) => void;
24
+ }, {}, "">;
25
+ type RepositoryConflictText = ReturnType<typeof RepositoryConflictText>;
26
+ export default RepositoryConflictText;
@@ -0,0 +1,52 @@
1
+ <script lang="ts">
2
+ let {
3
+ side = "left",
4
+ expanded = true,
5
+ }: {
6
+ side?: "left" | "right";
7
+ expanded?: boolean;
8
+ } = $props();
9
+ </script>
10
+
11
+ <svg
12
+ class="community-sidebar-toggle-icon"
13
+ data-ui-part="sidebar-toggle-icon"
14
+ data-side={side}
15
+ data-expanded={expanded}
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ width="24"
18
+ height="24"
19
+ viewBox="0 0 24 24"
20
+ fill="none"
21
+ stroke="currentColor"
22
+ stroke-width="2"
23
+ stroke-linecap="round"
24
+ stroke-linejoin="round"
25
+ aria-hidden="true"
26
+ >
27
+ <rect x="1" y="2" width="22" height="20" rx="4"></rect>
28
+ <g transform={side === "right" ? "translate(24 0) scale(-1 1)" : undefined}>
29
+ <rect
30
+ class="community-sidebar-toggle-icon__indicator"
31
+ x="4"
32
+ y="5"
33
+ width={expanded ? 6 : 2}
34
+ height="14"
35
+ rx="2"
36
+ fill="currentColor"
37
+ data-ui-part="sidebar-toggle-indicator"
38
+ ></rect>
39
+ </g>
40
+ </svg>
41
+
42
+ <style>
43
+ .community-sidebar-toggle-icon__indicator {
44
+ width: 2px;
45
+ transition: width 140ms ease;
46
+ }
47
+
48
+ .community-sidebar-toggle-icon[data-expanded="true"]
49
+ .community-sidebar-toggle-icon__indicator {
50
+ width: 6px;
51
+ }
52
+ </style>
@@ -0,0 +1,7 @@
1
+ type $$ComponentProps = {
2
+ side?: "left" | "right";
3
+ expanded?: boolean;
4
+ };
5
+ declare const RepositorySidebarToggleIcon: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type RepositorySidebarToggleIcon = ReturnType<typeof RepositorySidebarToggleIcon>;
7
+ export default RepositorySidebarToggleIcon;