@withgraphite/graphite-cli 1.4.7 → 1.4.8
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.
- package/.CHANGELOG.md +4 -0
- package/16.js +1 -1
- package/graphite.js +1 -1
- package/package.json +1 -1
- package/16.js.map +0 -1
- package/build/static/css/274.74a3708d.chunk.css.map +0 -1
- package/build/static/css/main.b9bea8d6.css.map +0 -1
- package/build/static/js/274.d7df68a1.chunk.js.map +0 -1
- package/build/static/js/697.e9243bfd.chunk.js.map +0 -1
- package/build/static/js/main.js.map +0 -1
- package/child.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/css/274.74a3708d.chunk.css","mappings":"AAAA,aAQE,mBAFA,aACA,sBAJA,eACA,gBAKA,uBAEA,mBATA,eAGA,WAKA,kBATA,SAUA,CAIF,eACE,iBACA,sBCjBF,0BACE,iBACA,mBACA,WAGF,gCACE,mBAGF,6BAKE,mBAJA,eACA,iBACA,sBACA,oBACA,CAGF,wCACE,kBACA,mBACA,iBACA,mBAGF,uCACE,iBAEA,iBADA,cAEA","sources":["lib/design/EmptyState.scss","parts/split-diff-view/SplitDiffHunk.scss"],"sourcesContent":[".empty-state {\n width: 90%;\n margin: 100px 0;\n font-size: 150%;\n font-weight: bold;\n opacity: 0.7;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n letter-spacing: 2px;\n}\n\n/* Use <p> as a byline within the empty state */\n.empty-state p {\n font-size: initial;\n letter-spacing: initial;\n}\n",".SplitDiffView-hunk-table {\n border-spacing: 0;\n table-layout: fixed;\n width: 100%;\n}\n\n.SplitDiffView-hunk-table tbody {\n vertical-align: top;\n}\n\n.SplitDiffView-hunk-table td {\n font-size: 12px;\n line-height: 16px;\n padding: 2px 0 2px 6px;\n white-space: pre-wrap;\n word-wrap: anywhere;\n}\n\n.SplitDiffView-hunk-table td.lineNumber {\n padding-left: 10px;\n padding-right: 10px;\n text-align: right;\n white-space: nowrap;\n}\n\n.SplitDiffView-hunk-table td.separator {\n line-height: 20px;\n padding-top: 0;\n padding-bottom: 0;\n text-align: center;\n}\n"],"names":[],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/css/main.b9bea8d6.css","mappings":"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","sources":["lib/design/theme/themeLightVariables.scss","index.scss","lib/design/BannerNotice.scss","lib/design/ContextMenu.scss","lib/design/error-notice.scss","../node_modules/@vscode/codicons/dist/codicon.css","lib/design/Icon.scss","lib/design/theme/themeLight.scss","lib/design/theme/themeDark.scss","lib/design/useModal.scss","lib/design/Modal.scss","parts/bottom-panel/BottomPanel.scss","parts/bottom-panel/SelectedBranch.scss","parts/code-review/github/GitHubPRBadge.scss","parts/bottom-panel/UncommittedChanges.scss","parts/top-bar/SettingsTooltip.scss","lib/design/DropdownFields.scss","lib/design/Tooltip.scss","parts/command-history-progress-bar/CommandHistoryAndProgress.scss","parts/commit-tree-list/CommitTreeList.scss","lib/design/ComponentUtils.scss","parts/code-review/DiffBadge.scss","parts/commit-tree-list/BranchIndicator.scss","parts/comparison-view/ComparisonView.scss","parts/top-bar/TopBar.scss","parts/top-bar/DownloadCommitsMenu.scss","parts/top-bar/PullButton.scss","lib/design/VSCodeButtonDropdown.scss","parts/welcome/Welcome.scss"],"sourcesContent":[".light-theme,\n.vscode-light {\n /*\n * VS Code Webview UI Toolkit theme colors, since @vscode/webview-ui-toolkit\n * only ships with dark theme variable definitions.\n * Note that these are only needed outside of vscode.\n */\n --background: #ffffff;\n --focus-border: #0090f1;\n --foreground: #616161;\n --scrollbar-slider-background: rgba(100, 100, 100, 0.4);\n --scrollbar-slider-hover-background: rgba(100, 100, 100, 0.7);\n --scrollbar-slider-active-background: rgba(0, 0, 0, 0.6);\n --badge-background: #c4c4c4;\n --badge-foreground: #333333;\n --button-border: transparent;\n --button-primary-background: #007acc;\n --button-primary-foreground: #ffffff;\n --button-primary-hover-background: #0062a3;\n --button-secondary-background: #5f6a79;\n --button-secondary-foreground: #ffffff;\n --button-secondary-hover-background: #4c5561;\n --checkbox-background: #ffffff;\n --checkbox-border: #cecece;\n --checkbox-foreground: var(--foreground);\n --list-active-selection-background: #0060c0;\n --list-active-selection-foreground: #ffffff;\n --list-hover-background: #e8e8e8;\n --divider-background: #c8c8c8;\n --dropdown-background: #ffffff;\n --dropdown-border: #cecece;\n --dropdown-foreground: var(--foreground);\n --input-background: #ffffff;\n --input-foreground: #616161;\n --input-placeholder-foreground: #767676;\n --link-active-foreground: #006ab1;\n --link-foreground: #006ab1;\n --progress-background: #0e70c0;\n --panel-tab-active-border: #424242;\n --panel-tab-active-foreground: #424242;\n --panel-tab-foreground: rgba(66, 66, 66, 0.75);\n --panel-view-background: #ffffff;\n --panel-view-border: rgba(128, 128, 128, 0.35);\n}\n",".gti-root {\n /**\n * These CSS variables come from the VS Code webview UI toolkit:\n * https://github.com/microsoft/vscode-webview-ui-toolkit/blob/main/src/design-tokens.ts\n */\n background-color: var(--background);\n color: var(--foreground);\n\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n\n --pad: 10px;\n --halfpad: 5px;\n\n --vscode-button-height: 24px; /* height of vscode-button */\n --vscode-icon-button-height: 22px; /* height of vscode-button with appearance=\"icon\" */\n\n height: 100vh;\n max-height: 100vh;\n display: flex;\n flex-direction: column;\n}\n\n.main-content-area {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n flex-grow: 1;\n padding: 1px;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\n.empty-app-state {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n\nvscode-button::part(content) {\n white-space: nowrap;\n}\n",".banner-notice {\n --errpadding: 20px;\n\n margin: var(--errpadding);\n padding: var(--errpadding);\n border-radius: var(--pad);\n background-color: var(--warning-bg-color);\n color: var(--warning-fg-color);\n display: flex;\n flex-direction: row;\n gap: var(--pad);\n flex-wrap: wrap;\n}\n\n.banner-notice-content {\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--errpadding));\n}\n\n.banner-notice-title {\n font-weight: bold;\n}\n\n.banner-notice-byline {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.banner-notice-left {\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n overflow: hidden;\n gap: var(--pad);\n}\n",".context-menu-container {\n position: absolute;\n padding: var(--halfpad);\n background-color: var(--tooltip-background);\n color: var(--foreground);\n border: 1px solid var(--tooltip-border);\n display: flex;\n flex-direction: column;\n z-index: 2000;\n min-width: 180px;\n animation: fadein 50ms linear;\n}\n\n.context-menu-fadeout {\n animation: fadeout 0.3s;\n}\n\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n.context-menu-divider {\n border-top: 1px solid var(--tooltip-border);\n height: 0;\n margin: var(--halfpad);\n}\n\n.context-menu-item {\n padding: var(--halfpad);\n border-radius: var(--halfpad);\n cursor: pointer;\n}\n\n.context-menu-item:hover,\n.context-menu-item:focus {\n background-color: var(--hover-darken);\n}\n\n@keyframes flash {\n 0% {\n background-color: unset;\n }\n 100% {\n background-color: var(--hover-darken);\n }\n}\n\n.context-menu-item-selected {\n animation: flash 0.1s steps(1);\n}\n\n.context-menu-arrow-top,\n.context-menu-arrow-bottom {\n --arrow-height: var(--pad);\n --arrow-half-width: var(--halfpad);\n content: \" \";\n border: var(--arrow-half-width) solid transparent;\n width: 0px;\n height: 0px;\n position: absolute;\n margin-left: auto;\n margin-right: auto;\n}\n\n.context-menu-arrow-top {\n border-bottom: var(--arrow-half-width) solid var(--tooltip-border);\n top: calc(-1 * var(--arrow-height));\n}\n\n.context-menu-arrow-bottom {\n border-top: var(--arrow-half-width) solid var(--tooltip-border);\n bottom: calc(-1 * var(--arrow-height));\n}\n\n.context-menu-arrow-left {\n left: 0;\n}\n\n.context-menu-arrow-right {\n right: 0;\n}\n",".error-notice {\n --errpadding: 20px;\n\n margin: var(--errpadding);\n padding: var(--errpadding);\n border-radius: var(--pad);\n background-color: var(--error-bg-color);\n color: var(--error-fg-color);\n display: flex;\n flex-direction: row;\n gap: var(--pad);\n cursor: pointer;\n flex-wrap: wrap;\n}\n\n.error-notice-arrow {\n margin-top: calc(var(--errpadding) / 2);\n}\n\n.error-notice-row {\n display: flex;\n flex-direction: row;\n}\n\n.error-notice-content {\n display: flex;\n flex-direction: column;\n max-width: calc(100% - var(--errpadding));\n}\n\n.error-notice-title {\n font-weight: bold;\n}\n\n.error-notice-stack-trace {\n white-space: pre-wrap;\n font-family: monospace;\n}\n\n.error-notice-buttons {\n gap: 8px;\n display: flex;\n align-items: center;\n}\n\n.error-notice-byline {\n overflow: hidden;\n}\n\n.error-notice-left {\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n overflow: hidden;\n gap: var(--pad);\n}\n\n.inline-error-badge .tooltip-creator {\n display: flex;\n flex-direction: row;\n gap: var(--pad);\n align-items: center;\n\n background-color: var(--error-bg-color);\n color: var(--error-fg-color);\n font-weight: 600;\n border-radius: var(--halfpad);\n padding: var(--halfpad) var(--pad);\n}\n\n.inline-error-tooltip {\n max-width: 500px;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n@font-face {\n\tfont-family: \"codicon\";\n\tfont-display: block;\n\tsrc: url(\"./codicon.ttf?2ab61cbaefbdf4c7c5589068100bee0c\") format(\"truetype\");\n}\n\n.codicon[class*='codicon-'] {\n\tfont: normal normal normal 16px/1 codicon;\n\tdisplay: inline-block;\n\ttext-decoration: none;\n\ttext-rendering: auto;\n\ttext-align: center;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n/*---------------------\n * Modifiers\n *-------------------*/\n\n@keyframes codicon-spin {\n\t100% {\n\t\ttransform:rotate(360deg);\n\t}\n}\n\n.codicon-sync.codicon-modifier-spin,\n.codicon-loading.codicon-modifier-spin,\n.codicon-gear.codicon-modifier-spin {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.5s steps(30) infinite;\n}\n\n.codicon-modifier-disabled {\n\topacity: 0.5;\n}\n\n.codicon-modifier-hidden {\n\topacity: 0;\n}\n\n/* custom speed & easing for loading icon */\n.codicon-loading {\n\tanimation-duration: 1s !important;\n\tanimation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\n}\n\n/*---------------------\n * Icons\n *-------------------*/\n\n.codicon-add:before { content: \"\\ea60\" }\n.codicon-plus:before { content: \"\\ea60\" }\n.codicon-gist-new:before { content: \"\\ea60\" }\n.codicon-repo-create:before { content: \"\\ea60\" }\n.codicon-lightbulb:before { content: \"\\ea61\" }\n.codicon-light-bulb:before { content: \"\\ea61\" }\n.codicon-repo:before { content: \"\\ea62\" }\n.codicon-repo-delete:before { content: \"\\ea62\" }\n.codicon-gist-fork:before { content: \"\\ea63\" }\n.codicon-repo-forked:before { content: \"\\ea63\" }\n.codicon-git-pull-request:before { content: \"\\ea64\" }\n.codicon-git-pull-request-abandoned:before { content: \"\\ea64\" }\n.codicon-record-keys:before { content: \"\\ea65\" }\n.codicon-keyboard:before { content: \"\\ea65\" }\n.codicon-tag:before { content: \"\\ea66\" }\n.codicon-tag-add:before { content: \"\\ea66\" }\n.codicon-tag-remove:before { content: \"\\ea66\" }\n.codicon-person:before { content: \"\\ea67\" }\n.codicon-person-follow:before { content: \"\\ea67\" }\n.codicon-person-outline:before { content: \"\\ea67\" }\n.codicon-person-filled:before { content: \"\\ea67\" }\n.codicon-git-branch:before { content: \"\\ea68\" }\n.codicon-git-branch-create:before { content: \"\\ea68\" }\n.codicon-git-branch-delete:before { content: \"\\ea68\" }\n.codicon-source-control:before { content: \"\\ea68\" }\n.codicon-mirror:before { content: \"\\ea69\" }\n.codicon-mirror-public:before { content: \"\\ea69\" }\n.codicon-star:before { content: \"\\ea6a\" }\n.codicon-star-add:before { content: \"\\ea6a\" }\n.codicon-star-delete:before { content: \"\\ea6a\" }\n.codicon-star-empty:before { content: \"\\ea6a\" }\n.codicon-comment:before { content: \"\\ea6b\" }\n.codicon-comment-add:before { content: \"\\ea6b\" }\n.codicon-alert:before { content: \"\\ea6c\" }\n.codicon-warning:before { content: \"\\ea6c\" }\n.codicon-search:before { content: \"\\ea6d\" }\n.codicon-search-save:before { content: \"\\ea6d\" }\n.codicon-log-out:before { content: \"\\ea6e\" }\n.codicon-sign-out:before { content: \"\\ea6e\" }\n.codicon-log-in:before { content: \"\\ea6f\" }\n.codicon-sign-in:before { content: \"\\ea6f\" }\n.codicon-eye:before { content: \"\\ea70\" }\n.codicon-eye-unwatch:before { content: \"\\ea70\" }\n.codicon-eye-watch:before { content: \"\\ea70\" }\n.codicon-circle-filled:before { content: \"\\ea71\" }\n.codicon-primitive-dot:before { content: \"\\ea71\" }\n.codicon-close-dirty:before { content: \"\\ea71\" }\n.codicon-debug-breakpoint:before { content: \"\\ea71\" }\n.codicon-debug-breakpoint-disabled:before { content: \"\\ea71\" }\n.codicon-debug-hint:before { content: \"\\ea71\" }\n.codicon-terminal-decoration-success:before { content: \"\\ea71\" }\n.codicon-primitive-square:before { content: \"\\ea72\" }\n.codicon-edit:before { content: \"\\ea73\" }\n.codicon-pencil:before { content: \"\\ea73\" }\n.codicon-info:before { content: \"\\ea74\" }\n.codicon-issue-opened:before { content: \"\\ea74\" }\n.codicon-gist-private:before { content: \"\\ea75\" }\n.codicon-git-fork-private:before { content: \"\\ea75\" }\n.codicon-lock:before { content: \"\\ea75\" }\n.codicon-mirror-private:before { content: \"\\ea75\" }\n.codicon-close:before { content: \"\\ea76\" }\n.codicon-remove-close:before { content: \"\\ea76\" }\n.codicon-x:before { content: \"\\ea76\" }\n.codicon-repo-sync:before { content: \"\\ea77\" }\n.codicon-sync:before { content: \"\\ea77\" }\n.codicon-clone:before { content: \"\\ea78\" }\n.codicon-desktop-download:before { content: \"\\ea78\" }\n.codicon-beaker:before { content: \"\\ea79\" }\n.codicon-microscope:before { content: \"\\ea79\" }\n.codicon-vm:before { content: \"\\ea7a\" }\n.codicon-device-desktop:before { content: \"\\ea7a\" }\n.codicon-file:before { content: \"\\ea7b\" }\n.codicon-file-text:before { content: \"\\ea7b\" }\n.codicon-more:before { content: \"\\ea7c\" }\n.codicon-ellipsis:before { content: \"\\ea7c\" }\n.codicon-kebab-horizontal:before { content: \"\\ea7c\" }\n.codicon-mail-reply:before { content: \"\\ea7d\" }\n.codicon-reply:before { content: \"\\ea7d\" }\n.codicon-organization:before { content: \"\\ea7e\" }\n.codicon-organization-filled:before { content: \"\\ea7e\" }\n.codicon-organization-outline:before { content: \"\\ea7e\" }\n.codicon-new-file:before { content: \"\\ea7f\" }\n.codicon-file-add:before { content: \"\\ea7f\" }\n.codicon-new-folder:before { content: \"\\ea80\" }\n.codicon-file-directory-create:before { content: \"\\ea80\" }\n.codicon-trash:before { content: \"\\ea81\" }\n.codicon-trashcan:before { content: \"\\ea81\" }\n.codicon-history:before { content: \"\\ea82\" }\n.codicon-clock:before { content: \"\\ea82\" }\n.codicon-folder:before { content: \"\\ea83\" }\n.codicon-file-directory:before { content: \"\\ea83\" }\n.codicon-symbol-folder:before { content: \"\\ea83\" }\n.codicon-logo-github:before { content: \"\\ea84\" }\n.codicon-mark-github:before { content: \"\\ea84\" }\n.codicon-github:before { content: \"\\ea84\" }\n.codicon-terminal:before { content: \"\\ea85\" }\n.codicon-console:before { content: \"\\ea85\" }\n.codicon-repl:before { content: \"\\ea85\" }\n.codicon-zap:before { content: \"\\ea86\" }\n.codicon-symbol-event:before { content: \"\\ea86\" }\n.codicon-error:before { content: \"\\ea87\" }\n.codicon-stop:before { content: \"\\ea87\" }\n.codicon-variable:before { content: \"\\ea88\" }\n.codicon-symbol-variable:before { content: \"\\ea88\" }\n.codicon-array:before { content: \"\\ea8a\" }\n.codicon-symbol-array:before { content: \"\\ea8a\" }\n.codicon-symbol-module:before { content: \"\\ea8b\" }\n.codicon-symbol-package:before { content: \"\\ea8b\" }\n.codicon-symbol-namespace:before { content: \"\\ea8b\" }\n.codicon-symbol-object:before { content: \"\\ea8b\" }\n.codicon-symbol-method:before { content: \"\\ea8c\" }\n.codicon-symbol-function:before { content: \"\\ea8c\" }\n.codicon-symbol-constructor:before { content: \"\\ea8c\" }\n.codicon-symbol-boolean:before { content: \"\\ea8f\" }\n.codicon-symbol-null:before { content: \"\\ea8f\" }\n.codicon-symbol-numeric:before { content: \"\\ea90\" }\n.codicon-symbol-number:before { content: \"\\ea90\" }\n.codicon-symbol-structure:before { content: \"\\ea91\" }\n.codicon-symbol-struct:before { content: \"\\ea91\" }\n.codicon-symbol-parameter:before { content: \"\\ea92\" }\n.codicon-symbol-type-parameter:before { content: \"\\ea92\" }\n.codicon-symbol-key:before { content: \"\\ea93\" }\n.codicon-symbol-text:before { content: \"\\ea93\" }\n.codicon-symbol-reference:before { content: \"\\ea94\" }\n.codicon-go-to-file:before { content: \"\\ea94\" }\n.codicon-symbol-enum:before { content: \"\\ea95\" }\n.codicon-symbol-value:before { content: \"\\ea95\" }\n.codicon-symbol-ruler:before { content: \"\\ea96\" }\n.codicon-symbol-unit:before { content: \"\\ea96\" }\n.codicon-activate-breakpoints:before { content: \"\\ea97\" }\n.codicon-archive:before { content: \"\\ea98\" }\n.codicon-arrow-both:before { content: \"\\ea99\" }\n.codicon-arrow-down:before { content: \"\\ea9a\" }\n.codicon-arrow-left:before { content: \"\\ea9b\" }\n.codicon-arrow-right:before { content: \"\\ea9c\" }\n.codicon-arrow-small-down:before { content: \"\\ea9d\" }\n.codicon-arrow-small-left:before { content: \"\\ea9e\" }\n.codicon-arrow-small-right:before { content: \"\\ea9f\" }\n.codicon-arrow-small-up:before { content: \"\\eaa0\" }\n.codicon-arrow-up:before { content: \"\\eaa1\" }\n.codicon-bell:before { content: \"\\eaa2\" }\n.codicon-bold:before { content: \"\\eaa3\" }\n.codicon-book:before { content: \"\\eaa4\" }\n.codicon-bookmark:before { content: \"\\eaa5\" }\n.codicon-debug-breakpoint-conditional-unverified:before { content: \"\\eaa6\" }\n.codicon-debug-breakpoint-conditional:before { content: \"\\eaa7\" }\n.codicon-debug-breakpoint-conditional-disabled:before { content: \"\\eaa7\" }\n.codicon-debug-breakpoint-data-unverified:before { content: \"\\eaa8\" }\n.codicon-debug-breakpoint-data:before { content: \"\\eaa9\" }\n.codicon-debug-breakpoint-data-disabled:before { content: \"\\eaa9\" }\n.codicon-debug-breakpoint-log-unverified:before { content: \"\\eaaa\" }\n.codicon-debug-breakpoint-log:before { content: \"\\eaab\" }\n.codicon-debug-breakpoint-log-disabled:before { content: \"\\eaab\" }\n.codicon-briefcase:before { content: \"\\eaac\" }\n.codicon-broadcast:before { content: \"\\eaad\" }\n.codicon-browser:before { content: \"\\eaae\" }\n.codicon-bug:before { content: \"\\eaaf\" }\n.codicon-calendar:before { content: \"\\eab0\" }\n.codicon-case-sensitive:before { content: \"\\eab1\" }\n.codicon-check:before { content: \"\\eab2\" }\n.codicon-checklist:before { content: \"\\eab3\" }\n.codicon-chevron-down:before { content: \"\\eab4\" }\n.codicon-chevron-left:before { content: \"\\eab5\" }\n.codicon-chevron-right:before { content: \"\\eab6\" }\n.codicon-chevron-up:before { content: \"\\eab7\" }\n.codicon-chrome-close:before { content: \"\\eab8\" }\n.codicon-chrome-maximize:before { content: \"\\eab9\" }\n.codicon-chrome-minimize:before { content: \"\\eaba\" }\n.codicon-chrome-restore:before { content: \"\\eabb\" }\n.codicon-circle-outline:before { content: \"\\eabc\" }\n.codicon-circle:before { content: \"\\eabc\" }\n.codicon-debug-breakpoint-unverified:before { content: \"\\eabc\" }\n.codicon-terminal-decoration-incomplete:before { content: \"\\eabc\" }\n.codicon-circle-slash:before { content: \"\\eabd\" }\n.codicon-circuit-board:before { content: \"\\eabe\" }\n.codicon-clear-all:before { content: \"\\eabf\" }\n.codicon-clippy:before { content: \"\\eac0\" }\n.codicon-close-all:before { content: \"\\eac1\" }\n.codicon-cloud-download:before { content: \"\\eac2\" }\n.codicon-cloud-upload:before { content: \"\\eac3\" }\n.codicon-code:before { content: \"\\eac4\" }\n.codicon-collapse-all:before { content: \"\\eac5\" }\n.codicon-color-mode:before { content: \"\\eac6\" }\n.codicon-comment-discussion:before { content: \"\\eac7\" }\n.codicon-credit-card:before { content: \"\\eac9\" }\n.codicon-dash:before { content: \"\\eacc\" }\n.codicon-dashboard:before { content: \"\\eacd\" }\n.codicon-database:before { content: \"\\eace\" }\n.codicon-debug-continue:before { content: \"\\eacf\" }\n.codicon-debug-disconnect:before { content: \"\\ead0\" }\n.codicon-debug-pause:before { content: \"\\ead1\" }\n.codicon-debug-restart:before { content: \"\\ead2\" }\n.codicon-debug-start:before { content: \"\\ead3\" }\n.codicon-debug-step-into:before { content: \"\\ead4\" }\n.codicon-debug-step-out:before { content: \"\\ead5\" }\n.codicon-debug-step-over:before { content: \"\\ead6\" }\n.codicon-debug-stop:before { content: \"\\ead7\" }\n.codicon-debug:before { content: \"\\ead8\" }\n.codicon-device-camera-video:before { content: \"\\ead9\" }\n.codicon-device-camera:before { content: \"\\eada\" }\n.codicon-device-mobile:before { content: \"\\eadb\" }\n.codicon-diff-added:before { content: \"\\eadc\" }\n.codicon-diff-ignored:before { content: \"\\eadd\" }\n.codicon-diff-modified:before { content: \"\\eade\" }\n.codicon-diff-removed:before { content: \"\\eadf\" }\n.codicon-diff-renamed:before { content: \"\\eae0\" }\n.codicon-diff:before { content: \"\\eae1\" }\n.codicon-discard:before { content: \"\\eae2\" }\n.codicon-editor-layout:before { content: \"\\eae3\" }\n.codicon-empty-window:before { content: \"\\eae4\" }\n.codicon-exclude:before { content: \"\\eae5\" }\n.codicon-extensions:before { content: \"\\eae6\" }\n.codicon-eye-closed:before { content: \"\\eae7\" }\n.codicon-file-binary:before { content: \"\\eae8\" }\n.codicon-file-code:before { content: \"\\eae9\" }\n.codicon-file-media:before { content: \"\\eaea\" }\n.codicon-file-pdf:before { content: \"\\eaeb\" }\n.codicon-file-submodule:before { content: \"\\eaec\" }\n.codicon-file-symlink-directory:before { content: \"\\eaed\" }\n.codicon-file-symlink-file:before { content: \"\\eaee\" }\n.codicon-file-zip:before { content: \"\\eaef\" }\n.codicon-files:before { content: \"\\eaf0\" }\n.codicon-filter:before { content: \"\\eaf1\" }\n.codicon-flame:before { content: \"\\eaf2\" }\n.codicon-fold-down:before { content: \"\\eaf3\" }\n.codicon-fold-up:before { content: \"\\eaf4\" }\n.codicon-fold:before { content: \"\\eaf5\" }\n.codicon-folder-active:before { content: \"\\eaf6\" }\n.codicon-folder-opened:before { content: \"\\eaf7\" }\n.codicon-gear:before { content: \"\\eaf8\" }\n.codicon-gift:before { content: \"\\eaf9\" }\n.codicon-gist-secret:before { content: \"\\eafa\" }\n.codicon-gist:before { content: \"\\eafb\" }\n.codicon-git-commit:before { content: \"\\eafc\" }\n.codicon-git-compare:before { content: \"\\eafd\" }\n.codicon-compare-changes:before { content: \"\\eafd\" }\n.codicon-git-merge:before { content: \"\\eafe\" }\n.codicon-github-action:before { content: \"\\eaff\" }\n.codicon-github-alt:before { content: \"\\eb00\" }\n.codicon-globe:before { content: \"\\eb01\" }\n.codicon-grabber:before { content: \"\\eb02\" }\n.codicon-graph:before { content: \"\\eb03\" }\n.codicon-gripper:before { content: \"\\eb04\" }\n.codicon-heart:before { content: \"\\eb05\" }\n.codicon-home:before { content: \"\\eb06\" }\n.codicon-horizontal-rule:before { content: \"\\eb07\" }\n.codicon-hubot:before { content: \"\\eb08\" }\n.codicon-inbox:before { content: \"\\eb09\" }\n.codicon-issue-reopened:before { content: \"\\eb0b\" }\n.codicon-issues:before { content: \"\\eb0c\" }\n.codicon-italic:before { content: \"\\eb0d\" }\n.codicon-jersey:before { content: \"\\eb0e\" }\n.codicon-json:before { content: \"\\eb0f\" }\n.codicon-kebab-vertical:before { content: \"\\eb10\" }\n.codicon-key:before { content: \"\\eb11\" }\n.codicon-law:before { content: \"\\eb12\" }\n.codicon-lightbulb-autofix:before { content: \"\\eb13\" }\n.codicon-link-external:before { content: \"\\eb14\" }\n.codicon-link:before { content: \"\\eb15\" }\n.codicon-list-ordered:before { content: \"\\eb16\" }\n.codicon-list-unordered:before { content: \"\\eb17\" }\n.codicon-live-share:before { content: \"\\eb18\" }\n.codicon-loading:before { content: \"\\eb19\" }\n.codicon-location:before { content: \"\\eb1a\" }\n.codicon-mail-read:before { content: \"\\eb1b\" }\n.codicon-mail:before { content: \"\\eb1c\" }\n.codicon-markdown:before { content: \"\\eb1d\" }\n.codicon-megaphone:before { content: \"\\eb1e\" }\n.codicon-mention:before { content: \"\\eb1f\" }\n.codicon-milestone:before { content: \"\\eb20\" }\n.codicon-mortar-board:before { content: \"\\eb21\" }\n.codicon-move:before { content: \"\\eb22\" }\n.codicon-multiple-windows:before { content: \"\\eb23\" }\n.codicon-mute:before { content: \"\\eb24\" }\n.codicon-no-newline:before { content: \"\\eb25\" }\n.codicon-note:before { content: \"\\eb26\" }\n.codicon-octoface:before { content: \"\\eb27\" }\n.codicon-open-preview:before { content: \"\\eb28\" }\n.codicon-package:before { content: \"\\eb29\" }\n.codicon-paintcan:before { content: \"\\eb2a\" }\n.codicon-pin:before { content: \"\\eb2b\" }\n.codicon-play:before { content: \"\\eb2c\" }\n.codicon-run:before { content: \"\\eb2c\" }\n.codicon-plug:before { content: \"\\eb2d\" }\n.codicon-preserve-case:before { content: \"\\eb2e\" }\n.codicon-preview:before { content: \"\\eb2f\" }\n.codicon-project:before { content: \"\\eb30\" }\n.codicon-pulse:before { content: \"\\eb31\" }\n.codicon-question:before { content: \"\\eb32\" }\n.codicon-quote:before { content: \"\\eb33\" }\n.codicon-radio-tower:before { content: \"\\eb34\" }\n.codicon-reactions:before { content: \"\\eb35\" }\n.codicon-references:before { content: \"\\eb36\" }\n.codicon-refresh:before { content: \"\\eb37\" }\n.codicon-regex:before { content: \"\\eb38\" }\n.codicon-remote-explorer:before { content: \"\\eb39\" }\n.codicon-remote:before { content: \"\\eb3a\" }\n.codicon-remove:before { content: \"\\eb3b\" }\n.codicon-replace-all:before { content: \"\\eb3c\" }\n.codicon-replace:before { content: \"\\eb3d\" }\n.codicon-repo-clone:before { content: \"\\eb3e\" }\n.codicon-repo-force-push:before { content: \"\\eb3f\" }\n.codicon-repo-pull:before { content: \"\\eb40\" }\n.codicon-repo-push:before { content: \"\\eb41\" }\n.codicon-report:before { content: \"\\eb42\" }\n.codicon-request-changes:before { content: \"\\eb43\" }\n.codicon-rocket:before { content: \"\\eb44\" }\n.codicon-root-folder-opened:before { content: \"\\eb45\" }\n.codicon-root-folder:before { content: \"\\eb46\" }\n.codicon-rss:before { content: \"\\eb47\" }\n.codicon-ruby:before { content: \"\\eb48\" }\n.codicon-save-all:before { content: \"\\eb49\" }\n.codicon-save-as:before { content: \"\\eb4a\" }\n.codicon-save:before { content: \"\\eb4b\" }\n.codicon-screen-full:before { content: \"\\eb4c\" }\n.codicon-screen-normal:before { content: \"\\eb4d\" }\n.codicon-search-stop:before { content: \"\\eb4e\" }\n.codicon-server:before { content: \"\\eb50\" }\n.codicon-settings-gear:before { content: \"\\eb51\" }\n.codicon-settings:before { content: \"\\eb52\" }\n.codicon-shield:before { content: \"\\eb53\" }\n.codicon-smiley:before { content: \"\\eb54\" }\n.codicon-sort-precedence:before { content: \"\\eb55\" }\n.codicon-split-horizontal:before { content: \"\\eb56\" }\n.codicon-split-vertical:before { content: \"\\eb57\" }\n.codicon-squirrel:before { content: \"\\eb58\" }\n.codicon-star-full:before { content: \"\\eb59\" }\n.codicon-star-half:before { content: \"\\eb5a\" }\n.codicon-symbol-class:before { content: \"\\eb5b\" }\n.codicon-symbol-color:before { content: \"\\eb5c\" }\n.codicon-symbol-constant:before { content: \"\\eb5d\" }\n.codicon-symbol-enum-member:before { content: \"\\eb5e\" }\n.codicon-symbol-field:before { content: \"\\eb5f\" }\n.codicon-symbol-file:before { content: \"\\eb60\" }\n.codicon-symbol-interface:before { content: \"\\eb61\" }\n.codicon-symbol-keyword:before { content: \"\\eb62\" }\n.codicon-symbol-misc:before { content: \"\\eb63\" }\n.codicon-symbol-operator:before { content: \"\\eb64\" }\n.codicon-symbol-property:before { content: \"\\eb65\" }\n.codicon-wrench:before { content: \"\\eb65\" }\n.codicon-wrench-subaction:before { content: \"\\eb65\" }\n.codicon-symbol-snippet:before { content: \"\\eb66\" }\n.codicon-tasklist:before { content: \"\\eb67\" }\n.codicon-telescope:before { content: \"\\eb68\" }\n.codicon-text-size:before { content: \"\\eb69\" }\n.codicon-three-bars:before { content: \"\\eb6a\" }\n.codicon-thumbsdown:before { content: \"\\eb6b\" }\n.codicon-thumbsup:before { content: \"\\eb6c\" }\n.codicon-tools:before { content: \"\\eb6d\" }\n.codicon-triangle-down:before { content: \"\\eb6e\" }\n.codicon-triangle-left:before { content: \"\\eb6f\" }\n.codicon-triangle-right:before { content: \"\\eb70\" }\n.codicon-triangle-up:before { content: \"\\eb71\" }\n.codicon-twitter:before { content: \"\\eb72\" }\n.codicon-unfold:before { content: \"\\eb73\" }\n.codicon-unlock:before { content: \"\\eb74\" }\n.codicon-unmute:before { content: \"\\eb75\" }\n.codicon-unverified:before { content: \"\\eb76\" }\n.codicon-verified:before { content: \"\\eb77\" }\n.codicon-versions:before { content: \"\\eb78\" }\n.codicon-vm-active:before { content: \"\\eb79\" }\n.codicon-vm-outline:before { content: \"\\eb7a\" }\n.codicon-vm-running:before { content: \"\\eb7b\" }\n.codicon-watch:before { content: \"\\eb7c\" }\n.codicon-whitespace:before { content: \"\\eb7d\" }\n.codicon-whole-word:before { content: \"\\eb7e\" }\n.codicon-window:before { content: \"\\eb7f\" }\n.codicon-word-wrap:before { content: \"\\eb80\" }\n.codicon-zoom-in:before { content: \"\\eb81\" }\n.codicon-zoom-out:before { content: \"\\eb82\" }\n.codicon-list-filter:before { content: \"\\eb83\" }\n.codicon-list-flat:before { content: \"\\eb84\" }\n.codicon-list-selection:before { content: \"\\eb85\" }\n.codicon-selection:before { content: \"\\eb85\" }\n.codicon-list-tree:before { content: \"\\eb86\" }\n.codicon-debug-breakpoint-function-unverified:before { content: \"\\eb87\" }\n.codicon-debug-breakpoint-function:before { content: \"\\eb88\" }\n.codicon-debug-breakpoint-function-disabled:before { content: \"\\eb88\" }\n.codicon-debug-stackframe-active:before { content: \"\\eb89\" }\n.codicon-circle-small-filled:before { content: \"\\eb8a\" }\n.codicon-debug-stackframe-dot:before { content: \"\\eb8a\" }\n.codicon-terminal-decoration-mark:before { content: \"\\eb8a\" }\n.codicon-debug-stackframe:before { content: \"\\eb8b\" }\n.codicon-debug-stackframe-focused:before { content: \"\\eb8b\" }\n.codicon-debug-breakpoint-unsupported:before { content: \"\\eb8c\" }\n.codicon-symbol-string:before { content: \"\\eb8d\" }\n.codicon-debug-reverse-continue:before { content: \"\\eb8e\" }\n.codicon-debug-step-back:before { content: \"\\eb8f\" }\n.codicon-debug-restart-frame:before { content: \"\\eb90\" }\n.codicon-debug-alt:before { content: \"\\eb91\" }\n.codicon-call-incoming:before { content: \"\\eb92\" }\n.codicon-call-outgoing:before { content: \"\\eb93\" }\n.codicon-menu:before { content: \"\\eb94\" }\n.codicon-expand-all:before { content: \"\\eb95\" }\n.codicon-feedback:before { content: \"\\eb96\" }\n.codicon-group-by-ref-type:before { content: \"\\eb97\" }\n.codicon-ungroup-by-ref-type:before { content: \"\\eb98\" }\n.codicon-account:before { content: \"\\eb99\" }\n.codicon-bell-dot:before { content: \"\\eb9a\" }\n.codicon-debug-console:before { content: \"\\eb9b\" }\n.codicon-library:before { content: \"\\eb9c\" }\n.codicon-output:before { content: \"\\eb9d\" }\n.codicon-run-all:before { content: \"\\eb9e\" }\n.codicon-sync-ignored:before { content: \"\\eb9f\" }\n.codicon-pinned:before { content: \"\\eba0\" }\n.codicon-github-inverted:before { content: \"\\eba1\" }\n.codicon-server-process:before { content: \"\\eba2\" }\n.codicon-server-environment:before { content: \"\\eba3\" }\n.codicon-pass:before { content: \"\\eba4\" }\n.codicon-issue-closed:before { content: \"\\eba4\" }\n.codicon-stop-circle:before { content: \"\\eba5\" }\n.codicon-play-circle:before { content: \"\\eba6\" }\n.codicon-record:before { content: \"\\eba7\" }\n.codicon-debug-alt-small:before { content: \"\\eba8\" }\n.codicon-vm-connect:before { content: \"\\eba9\" }\n.codicon-cloud:before { content: \"\\ebaa\" }\n.codicon-merge:before { content: \"\\ebab\" }\n.codicon-export:before { content: \"\\ebac\" }\n.codicon-graph-left:before { content: \"\\ebad\" }\n.codicon-magnet:before { content: \"\\ebae\" }\n.codicon-notebook:before { content: \"\\ebaf\" }\n.codicon-redo:before { content: \"\\ebb0\" }\n.codicon-check-all:before { content: \"\\ebb1\" }\n.codicon-pinned-dirty:before { content: \"\\ebb2\" }\n.codicon-pass-filled:before { content: \"\\ebb3\" }\n.codicon-circle-large-filled:before { content: \"\\ebb4\" }\n.codicon-circle-large:before { content: \"\\ebb5\" }\n.codicon-circle-large-outline:before { content: \"\\ebb5\" }\n.codicon-combine:before { content: \"\\ebb6\" }\n.codicon-gather:before { content: \"\\ebb6\" }\n.codicon-table:before { content: \"\\ebb7\" }\n.codicon-variable-group:before { content: \"\\ebb8\" }\n.codicon-type-hierarchy:before { content: \"\\ebb9\" }\n.codicon-type-hierarchy-sub:before { content: \"\\ebba\" }\n.codicon-type-hierarchy-super:before { content: \"\\ebbb\" }\n.codicon-git-pull-request-create:before { content: \"\\ebbc\" }\n.codicon-run-above:before { content: \"\\ebbd\" }\n.codicon-run-below:before { content: \"\\ebbe\" }\n.codicon-notebook-template:before { content: \"\\ebbf\" }\n.codicon-debug-rerun:before { content: \"\\ebc0\" }\n.codicon-workspace-trusted:before { content: \"\\ebc1\" }\n.codicon-workspace-untrusted:before { content: \"\\ebc2\" }\n.codicon-workspace-unknown:before { content: \"\\ebc3\" }\n.codicon-terminal-cmd:before { content: \"\\ebc4\" }\n.codicon-terminal-debian:before { content: \"\\ebc5\" }\n.codicon-terminal-linux:before { content: \"\\ebc6\" }\n.codicon-terminal-powershell:before { content: \"\\ebc7\" }\n.codicon-terminal-tmux:before { content: \"\\ebc8\" }\n.codicon-terminal-ubuntu:before { content: \"\\ebc9\" }\n.codicon-terminal-bash:before { content: \"\\ebca\" }\n.codicon-arrow-swap:before { content: \"\\ebcb\" }\n.codicon-copy:before { content: \"\\ebcc\" }\n.codicon-person-add:before { content: \"\\ebcd\" }\n.codicon-filter-filled:before { content: \"\\ebce\" }\n.codicon-wand:before { content: \"\\ebcf\" }\n.codicon-debug-line-by-line:before { content: \"\\ebd0\" }\n.codicon-inspect:before { content: \"\\ebd1\" }\n.codicon-layers:before { content: \"\\ebd2\" }\n.codicon-layers-dot:before { content: \"\\ebd3\" }\n.codicon-layers-active:before { content: \"\\ebd4\" }\n.codicon-compass:before { content: \"\\ebd5\" }\n.codicon-compass-dot:before { content: \"\\ebd6\" }\n.codicon-compass-active:before { content: \"\\ebd7\" }\n.codicon-azure:before { content: \"\\ebd8\" }\n.codicon-issue-draft:before { content: \"\\ebd9\" }\n.codicon-git-pull-request-closed:before { content: \"\\ebda\" }\n.codicon-git-pull-request-draft:before { content: \"\\ebdb\" }\n.codicon-debug-all:before { content: \"\\ebdc\" }\n.codicon-debug-coverage:before { content: \"\\ebdd\" }\n.codicon-run-errors:before { content: \"\\ebde\" }\n.codicon-folder-library:before { content: \"\\ebdf\" }\n.codicon-debug-continue-small:before { content: \"\\ebe0\" }\n.codicon-beaker-stop:before { content: \"\\ebe1\" }\n.codicon-graph-line:before { content: \"\\ebe2\" }\n.codicon-graph-scatter:before { content: \"\\ebe3\" }\n.codicon-pie-chart:before { content: \"\\ebe4\" }\n.codicon-bracket:before { content: \"\\eb0f\" }\n.codicon-bracket-dot:before { content: \"\\ebe5\" }\n.codicon-bracket-error:before { content: \"\\ebe6\" }\n.codicon-lock-small:before { content: \"\\ebe7\" }\n.codicon-azure-devops:before { content: \"\\ebe8\" }\n.codicon-verified-filled:before { content: \"\\ebe9\" }\n.codicon-newline:before { content: \"\\ebea\" }\n.codicon-layout:before { content: \"\\ebeb\" }\n.codicon-layout-activitybar-left:before { content: \"\\ebec\" }\n.codicon-layout-activitybar-right:before { content: \"\\ebed\" }\n.codicon-layout-panel-left:before { content: \"\\ebee\" }\n.codicon-layout-panel-center:before { content: \"\\ebef\" }\n.codicon-layout-panel-justify:before { content: \"\\ebf0\" }\n.codicon-layout-panel-right:before { content: \"\\ebf1\" }\n.codicon-layout-panel:before { content: \"\\ebf2\" }\n.codicon-layout-sidebar-left:before { content: \"\\ebf3\" }\n.codicon-layout-sidebar-right:before { content: \"\\ebf4\" }\n.codicon-layout-statusbar:before { content: \"\\ebf5\" }\n.codicon-layout-menubar:before { content: \"\\ebf6\" }\n.codicon-layout-centered:before { content: \"\\ebf7\" }\n.codicon-target:before { content: \"\\ebf8\" }\n.codicon-indent:before { content: \"\\ebf9\" }\n.codicon-record-small:before { content: \"\\ebfa\" }\n.codicon-error-small:before { content: \"\\ebfb\" }\n.codicon-terminal-decoration-error:before { content: \"\\ebfb\" }\n.codicon-arrow-circle-down:before { content: \"\\ebfc\" }\n.codicon-arrow-circle-left:before { content: \"\\ebfd\" }\n.codicon-arrow-circle-right:before { content: \"\\ebfe\" }\n.codicon-arrow-circle-up:before { content: \"\\ebff\" }\n.codicon-layout-sidebar-right-off:before { content: \"\\ec00\" }\n.codicon-layout-panel-off:before { content: \"\\ec01\" }\n.codicon-layout-sidebar-left-off:before { content: \"\\ec02\" }\n.codicon-blank:before { content: \"\\ec03\" }\n.codicon-heart-filled:before { content: \"\\ec04\" }\n.codicon-map:before { content: \"\\ec05\" }\n.codicon-map-filled:before { content: \"\\ec06\" }\n.codicon-circle-small:before { content: \"\\ec07\" }\n.codicon-bell-slash:before { content: \"\\ec08\" }\n.codicon-bell-slash-dot:before { content: \"\\ec09\" }\n.codicon-comment-unresolved:before { content: \"\\ec0a\" }\n.codicon-git-pull-request-go-to-changes:before { content: \"\\ec0b\" }\n.codicon-git-pull-request-new-changes:before { content: \"\\ec0c\" }\n.codicon-search-fuzzy:before { content: \"\\ec0d\" }\n.codicon-comment-draft:before { content: \"\\ec0e\" }\n.codicon-send:before { content: \"\\ec0f\" }\n.codicon-sparkle:before { content: \"\\ec10\" }\n.codicon-insert:before { content: \"\\ec11\" }\n",".icon-size-SM:before {\n font-size: 125%;\n}\n.icon-size-M:before {\n font-size: 150%;\n}\n.icon-size-L:before {\n font-size: 200%;\n}\n\n.codicon-loading {\n animation: spin infinite;\n}\n@keyframes spin {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n",".light-theme,\n.vscode-light {\n /* custom values **/\n --scm-modified-foreground: #895503;\n --scm-added-foreground: #007100;\n --scm-removed-foreground: #ad0707;\n --tooltip-background: var(--vscode-editorWidget-background, #f3f3f3);\n --tooltip-border: var(--vscode-editorWidget-border, #c8c8c8);\n\n --error-fg-color: #e35941ff;\n --error-bg-color: #e3594120;\n\n --warning-fg-color: #895503;\n --warning-bg-color: #f7dbad;\n\n --hover-darken: rgba(0, 0, 0, 0.1);\n --highlight-foreground: #2a2a2a;\n\n /* github PR colors */\n --github-badge-fg: white;\n --github-open-bg: #2da44e;\n --github-closed-bg: #cf222e;\n --github-merged-bg: #8250df;\n --github-neutral-bg: #6e7781;\n}\n",".dark-theme,\n.vscode-dark {\n --scm-modified-foreground: #e2c08d;\n --scm-added-foreground: #73c991;\n --scm-removed-foreground: #f3674f;\n\n --error-fg-color: #f3674f;\n --error-bg-color: #f3674f20;\n\n --warning-fg-color: #e2c08d;\n --warning-bg-color: #40331f;\n\n --tooltip-background: var(--vscode-editorWidget-background, #252526);\n --tooltip-border: var(--vscode-editorWidget-border, #454545);\n\n --hover-darken: rgba(255, 255, 255, 0.1);\n --highlight-foreground: #f0f0f0;\n\n /* github PR colors */\n --github-badge-fg: white;\n --github-open-bg: #238636;\n --github-closed-bg: #da3633;\n --github-merged-bg: #8957e5;\n --github-neutral-bg: #6e7781;\n\n /* VS Code Webview UI Toolkit includes dark theme colors already */\n}\n",".use-modal-buttons {\n display: flex;\n flex-direction: row;\n gap: var(--pad);\n justify-content: flex-end;\n margin: var(--pad) calc(2 * var(--pad));\n}\n\n.use-modal-buttons vscode-button {\n min-width: 5em;\n}\n\n.use-modal {\n padding: var(--pad);\n display: flex;\n flex-direction: column;\n gap: var(--pad);\n justify-content: space-between;\n --useModalWidth: 500px;\n width: var(--useModalWidth);\n}\n\n#use-modal-title {\n font-weight: bold;\n margin: var(--pad) 0;\n display: flex;\n flex-direction: row;\n gap: var(--halfpad);\n align-items: center;\n}\n\n#use-modal-title,\n#use-modal-message {\n padding: 0 var(--pad);\n}\n",".modal {\n position: absolute;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.2);\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dark-theme .modal,\n.vscode-dark .modal {\n background-color: rgba(0, 0, 0, 0.5);\n}\n\n.modal-contents {\n background-color: var(--background);\n --border-amt: calc(0.2 * var(--pad));\n --padding-amt: calc(0.2 * var(--pad));\n margin: var(--border-amt);\n padding: var(--padding-amt);\n padding-bottom: 0;\n background-color: var(--background);\n border-radius: 8px;\n box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);\n height: calc(100vh - 2 * var(--border-amt) - 2 * var(--padding-amt));\n width: calc(100vw - 2 * var(--border-amt) - 2 * var(--padding-amt));\n display: flex;\n flex-direction: column;\n position: relative;\n}\n\n.dismiss-modal {\n display: flex;\n position: absolute;\n top: var(--pad);\n right: var(--pad);\n}\n",".bottom-panel-parent {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n\n.bottom-panel-resizer {\n position: absolute;\n top: -2px;\n\n height: 4px;\n width: 100%;\n\n cursor: row-resize;\n z-index: 2;\n\n transition: background-color 0.1s ease-in;\n &:hover {\n background-color: var(--vscode-sash-hoverBorder);\n }\n}\n\n.bottom-panel-title {\n color: var(--foreground);\n border-top: 1px solid var(--vscode-sideBarSectionHeader-border);\n box-sizing: border-box;\n background-color: var(--background);\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n padding: 0 4px;\n cursor: pointer;\n user-select: none;\n font-size: 11px;\n font-weight: 700;\n}\n\n.bottom-panel-num-files {\n display: flex;\n color: var(--button-secondary-foreground);\n background-color: var(--button-secondary-background);\n border-radius: 200px;\n font-weight: 700;\n padding: 0px 5px;\n}\n\n.bottom-panel-title-text {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.bottom-panel-right {\n margin-left: auto;\n display: flex;\n flex-direction: row;\n gap: 2px;\n}\n\n.bottom-panel-content {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n\n.menu-row {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n\n.changed-file-display-type-picker-select {\n all: unset;\n position: absolute;\n width: 16px;\n height: 16px;\n text-indent: 100px;\n\n &:focus-visible {\n outline: none;\n }\n}\n",".selected-branch {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.branch-actions {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin: auto 4px 4px;\n}\n\n.branch-action-button {\n flex: 1;\n user-select: none;\n font-size: 12px;\n}\n\n.branch-action-button-inner-fill {\n width: 100%;\n}\n\n.selected-branch-divided {\n display: flex;\n flex-direction: row;\n}\n\n.selected-branch-divided-selector {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.selected-branch-divided-selector-item {\n padding: 0 8px;\n cursor: pointer;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n &:hover {\n background-color: var(--hover-darken);\n }\n &-selected {\n outline: 1px solid var(--focus-border);\n outline-offset: -1px;\n }\n}\n\n.selected-branch-divided-content {\n flex: 3;\n display: flex;\n flex-direction: column;\n}\n",".github-diff-status-OPEN {\n background-color: var(--github-open-bg);\n}\n.github-diff-status-MERGED {\n background-color: var(--github-merged-bg);\n}\n.github-diff-status-CLOSED {\n background-color: var(--github-closed-bg);\n}\n.github-diff-status-none {\n background-color: var(--github-neutral-bg);\n}\n.github-diff-status-ERROR {\n background-color: var(--github-closed-bg);\n}\n.github-diff-status-DRAFT {\n background-color: var(--github-neutral-bg);\n}\n\n.github-diff-status {\n display: flex;\n font-weight: bold;\n border-radius: 10px;\n padding: 4px;\n font-size: 100%;\n}\n\n.github-diff-badge:link,\n.github-diff-badge:hover,\n.github-diff-badge:active {\n color: white;\n text-decoration: none;\n}\n\n.github-diff-badge .codicon {\n font-size: 90%;\n}\n\n.github-diff-status .tooltip-creator {\n align-items: center;\n}\n",".head-commit-info-container {\n margin-left: -22px;\n z-index: 3;\n position: relative;\n}\n.head-commit-info {\n margin-left: 28px;\n}\n.head-commit-info-container.head-commit-info-indented {\n margin-left: 0px;\n margin-bottom: 15px;\n}\n.head-commit-info-indented .branch-indicator {\n stroke: var(--button-primary-hover-background);\n left: -8px;\n bottom: -25px;\n}\n.gti-root .head-commit-info-container.head-commit-info-indented:before {\n bottom: 0px;\n}\n.you-are-here-container {\n display: flex;\n gap: var(--pad);\n align-items: center;\n}\n\n.conflicts-header {\n display: flex;\n flex-direction: column;\n margin: var(--pad) 0;\n}\n\n.conflict-resolution-buttons {\n display: flex;\n flex-direction: column;\n gap: var(--halfpad);\n padding: var(--halfpad);\n}\n\n.file-tree-folder-path {\n cursor: pointer;\n display: flex;\n align-items: center;\n min-height: 22px;\n padding-left: 16px;\n gap: 6px;\n &:hover {\n background-color: var(--hover-darken);\n }\n}\n\n.file-indent {\n width: 4px;\n height: 100%;\n}\n\n.changed-files {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n flex-grow: 1;\n}\n.changed-files .changed-file {\n height: 22px;\n padding-left: 4px;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n align-items: center;\n transition: color 0.1s;\n gap: 6px;\n padding-left: 16px;\n padding-right: 12px;\n}\n\n.changed-file-path {\n display: flex;\n align-items: center;\n gap: var(--halfpad);\n}\n\n.changed-file-path {\n max-width: calc(100% - 2 * var(--pad));\n position: relative;\n overflow: hidden;\n}\n\n.changed-file-path-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: inline-block;\n max-width: 100%;\n margin-top: -2px;\n}\n.changed-file-path .tooltip-creator {\n width: 100%;\n text-align: right;\n overflow: hidden;\n white-space: nowrap;\n margin-left: auto;\n margin-right: auto;\n display: block;\n}\n\n.changed-file:hover {\n background-color: var(--hover-darken);\n}\n\n.changed-file-checkbox {\n &:focus {\n outline: none;\n }\n &:focus-visible {\n outline: none;\n }\n}\n\n.changed-file-checkbox-clickable::part(control) {\n cursor: pointer;\n}\n\n.file-actions {\n display: flex;\n flex-wrap: nowrap;\n margin-left: auto;\n}\n\n.file-actions .tooltip-creator {\n display: inline-flex;\n}\n\n.file-added {\n color: var(--scm-added-foreground);\n}\n.file-modified {\n color: var(--scm-modified-foreground);\n}\n.file-removed {\n color: var(--scm-removed-foreground);\n}\n.file-unresolved {\n color: var(--scm-modified-foreground);\n}\n.file-resolved {\n color: var(--scm-added-foreground);\n}\n.file-ignored {\n opacity: 0.9;\n}\n\n.show-on-hover,\n.file-show-on-hover {\n opacity: 0;\n transition: opacity 0.1s;\n}\n.show-on-hover:focus-within,\n.file-show-on-hover:focus-within {\n opacity: 1;\n}\n\n.changed-file:hover .file-show-on-hover {\n opacity: 1;\n}\n\n.button-rows {\n display: flex;\n flex-direction: column;\n gap: var(--halfpad);\n margin: var(--halfpad) 0;\n}\n\n.button-row {\n border-width: 1px 0;\n border-style: solid;\n border-color: var(--divider-background);\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n align-content: center;\n padding: 4px;\n}\n\n.button-row-right {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-wrap: nowrap;\n flex-grow: 0;\n}\n\n.uncommitted-changes-actions {\n display: flex;\n gap: 4px;\n flex-direction: column;\n padding: var(--halfpad);\n border-width: 1px 0;\n border-style: solid;\n border-color: var(--divider-background);\n\n .uncommitted-changes-buttons {\n display: flex;\n gap: 4px;\n }\n}\n\n.uncommitted-changes-actions-modify {\n display: flex;\n flex-direction: row;\n gap: 2px;\n align-items: center;\n}\n\n.uncommitted-changes-actions-modify-checkbox {\n cursor: pointer;\n &:focus {\n outline: none;\n }\n &:focus-checkbox {\n outline: none;\n }\n}\n.uncommitted-changes-actions-modify-text {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.commit-modify-button {\n width: 100%;\n}\n\n.quick-commit-inputs {\n transition: background-color 0.1s;\n display: flex;\n gap: var(--pad);\n align-items: center;\n padding: 4px;\n margin: -4px;\n border-radius: 4px;\n position: relative;\n}\n.quick-commit-inputs:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n height: 100%;\n width: 100%;\n border-radius: 4px;\n pointer-events: none;\n opacity: 0;\n}\n.quick-commit-inputs:hover:before {\n background-color: var(--button-icon-hover-background);\n transition: opacity 0.3s;\n opacity: 0.5;\n}\n",".settings-dropdown {\n display: flex;\n flex-direction: column;\n max-width: 90vw;\n max-height: calc(90vh - 40px);\n gap: var(--pad);\n overflow-y: auto;\n}\n\n.setting-hr {\n width: 95%;\n border-color: var(--panel-view-border);\n}\n\n.setting-subtitle {\n font-weight: 600;\n padding-bottom: var(--pad);\n}\n.setting-description {\n padding-bottom: var(--halfpad);\n}\n\n.bug-dropdown-version {\n display: flex;\n flex-direction: column;\n gap: var(--halfpad);\n margin: var(--halfpad);\n}\n\n.bug-dropdown-actions {\n gap: var(--pad);\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.bug-dropdown-actions vscode-button {\n justify-content: center;\n}\n\n.bug-dropdown-debug-actions {\n gap: var(--pad);\n display: flex;\n flex-direction: row;\n justify-content: center;\n width: 100%;\n}\n\n.additional-debug-content {\n display: flex;\n flex-direction: column;\n gap: var(--pad);\n}\n\n.bug-button-nux {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--pad);\n}\n",".dropdown-fields {\n display: flex;\n flex-direction: column;\n gap: var(--halfpad);\n}\n\n.dropdown-fields-header {\n display: flex;\n flex-direction: row;\n gap: var(--halfpad);\n align-items: center;\n margin: var(--halfpad);\n}\n\n.dropdown-fields-content {\n display: flex;\n flex-direction: column;\n gap: calc(2 * var(--pad));\n margin: var(--pad);\n}\n\n.dropdown-field {\n display: flex;\n flex-direction: column;\n gap: var(--halfpad);\n padding: var(--halfpad);\n}\n",".tooltip-creator {\n width: fit-content;\n height: fit-content;\n display: flex;\n}\n\n.tooltip-creator-inline {\n display: inline;\n}\n\n.tooltip {\n position: absolute;\n pointer-events: initial;\n background-color: var(--tooltip-background);\n color: var(--foreground);\n border: 1px solid var(--tooltip-border);\n padding: var(--pad);\n z-index: 1000;\n opacity: 0;\n animation: fadein 0.1s forwards linear;\n}\n@keyframes fadein {\n 0% {\n opacity: 0%;\n }\n 100% {\n opacity: 100%;\n }\n}\n\n.tooltip-root-container {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\n.tooltip-arrow {\n --arrow-height: calc(var(--pad) - 4px);\n --arrow-half-width: calc(var(--arrow-height) / 2);\n position: absolute;\n}\n\n.tooltip-arrow::after {\n content: \" \";\n position: absolute;\n width: var(--arrow-height);\n height: var(--arrow-height);\n background-color: var(--tooltip-background);\n border-right: 1px solid var(--tooltip-border);\n border-bottom: 1px solid var(--tooltip-border);\n}\n\n.tooltip.simple-text-tooltip {\n max-width: 250px;\n white-space: pre-wrap;\n word-break: break-word;\n pointer-events: unset;\n}\n\n.tooltip-arrow-bottom::after {\n transform: rotate(225deg);\n}\n.tooltip-arrow-top::after {\n transform: rotate(45deg);\n}\n.tooltip-arrow-left::after {\n transform: rotate(315deg);\n}\n.tooltip-arrow-right::after {\n transform: rotate(135deg);\n}\n\n.tooltip-arrow-bottom {\n left: calc(50% - var(--arrow-half-width));\n top: calc(-1px - var(--arrow-half-width));\n}\n.tooltip-arrow-top {\n left: calc(50% - var(--arrow-half-width));\n bottom: calc(var(--arrow-half-width));\n}\n.tooltip-arrow-left {\n right: calc(var(--arrow-half-width));\n top: calc(50% - var(--arrow-half-width));\n}\n.tooltip-arrow-right {\n left: calc(-1px - var(--arrow-half-width));\n top: calc(50% - var(--arrow-half-width));\n}\n",".progress-container {\n bottom: 0;\n background: var(--background);\n z-index: 100;\n padding: 2px;\n border-top: 1px solid var(--panel-view-border);\n display: flex;\n flex-direction: column;\n gap: var(--pad);\n position: relative;\n height: 20px;\n box-sizing: border-box;\n}\n\n.progress-container .tooltip-creator {\n width: fit-content;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n gap: var(--pad);\n}\n\n.progress-container-row {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--pad);\n width: fit-content;\n max-width: 100%;\n}\n\n.progress-container-row .codicon-error {\n color: var(--scm-removed-foreground);\n}\n.progress-container-row .codicon-pass {\n color: var(--scm-added-foreground);\n}\n\n.queued-operations-container {\n position: absolute;\n right: 0;\n bottom: 100%;\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin: 0px;\n background-color: var(--background);\n padding: 10px;\n border-radius: 4px 0 0 0;\n border: 1px solid var(--dropdown-border);\n max-width: 90%;\n border-right-width: 0;\n}\n\n.queued-operation {\n background-color: var(--badge-background);\n color: var(--badge-foreground);\n padding: 4px 8px;\n border-radius: 4px;\n margin-left: 10px;\n overflow: hidden;\n white-space: nowrap;\n font-size: 12px;\n text-overflow: ellipsis;\n}\n\n.progress-container-command {\n flex-grow: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n // In high contrast mode, the default code background is white, and text is also white\n background: unset;\n}\n\n.progress-container-row {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n}\n\n.progress-container-row .tooltip-creator {\n cursor: pointer;\n}\n\n.progress-command-tooltip {\n max-width: min(700px, 50vw);\n}\n\n.progress-command-tooltip-command code {\n // In high contrast mode, the default code background is white, and text is also white\n background-color: unset;\n}\n\n.progress-command-tooltip pre {\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n",".branch {\n // needed so that the absolutely positioned checkout triangle is\n // positioned relative to the branch\n position: relative;\n padding-left: 4px;\n display: flex;\n flex-direction: row;\n cursor: pointer;\n align-items: flex-start;\n user-select: none;\n}\n\n.branch-row-below {\n display: flex;\n flex-direction: row;\n height: 22px;\n align-items: center;\n width: 100%;\n}\n\n:host([appearance=\"icon\"]) .control {\n padding: 1px;\n}\n\n.branch:hover {\n background-color: var(--hover-darken);\n}\n\n.branch-drag-over {\n height: 0;\n width: 100%;\n position: relative;\n\n &::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 2px;\n z-index: 100;\n background-color: var(--focus-border);\n }\n}\n\n.branch-focused {\n outline: 1px solid var(--focus-border);\n outline-offset: -1px;\n}\n\n.branch-checked-out:hover {\n color: var(--list-active-selection-foreground);\n background-color: var(--list-active-selection-background);\n}\n.branch-checked-out {\n color: var(--list-active-selection-foreground);\n background-color: var(--list-active-selection-background);\n}\n\n.branch-checkout-triangle {\n position: absolute;\n width: 0;\n height: 0;\n left: 2px;\n border-top: 7px solid transparent;\n border-bottom: 7px solid transparent;\n border-left: 7px solid var(--foreground);\n margin-top: 10px;\n}\n\n.branch-end {\n align-items: center;\n display: flex;\n gap: 4px;\n margin-top: 4px;\n}\n\n.branch-gripper {\n color: transparent;\n cursor: grab;\n}\n\n.branch:hover .branch-gripper {\n color: var(--list-active-selection-foreground);\n\n &.branch-gripper-disabled {\n cursor: not-allowed;\n opacity: 0.2;\n }\n}\n\n.pr-badge-container {\n width: 20px;\n}\n\n.branch-date {\n opacity: 0.8;\n margin-left: auto;\n font-size: 12px;\n width: 25px;\n}\n\n.branch-name {\n flex-grow: 1;\n margin: 7px 0;\n font-size: 14px;\n overflow: hidden;\n display: inline-block;\n & > code {\n background: none;\n }\n\n &.branch-name-wrap {\n word-wrap: anywhere;\n }\n\n &.branch-name-nowrap {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.branch-name.uncommitted-changes {\n color: var(--scm-modified-foreground);\n font-weight: 500;\n}\n\n.branch-name.unresolved-conflicts {\n color: var(--scm-removed-foreground);\n font-weight: 500;\n}\n.commit vscode-tag::part(control) {\n text-transform: unset;\n}\n\n.branch-preview-rebase-root {\n padding-right: 10px;\n}\n\n.branch-preview-rebase-root,\n.branch-preview-rebase-descendant {\n color: var(--scm-added-foreground);\n &:hover {\n background-color: inherit;\n cursor: default;\n }\n}\n\n.branch-preview-rebase-old,\n.branch-in-stack-being-dragged {\n & > .branch-name,\n & > .branch-end {\n opacity: 0.5;\n }\n}\n\n.restack-button {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n font-weight: 500;\n}\n\n.tree-line-extend {\n overflow: hidden;\n height: 100%;\n margin-left: 14px;\n border-left: 2px solid var(--foreground);\n}\n",".center-container {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--pad);\n}\n",".diff-badge {\n color: white;\n cursor: pointer;\n text-decoration: none;\n}\n\n.diff-badge:hover .codicon {\n text-decoration: none;\n}\n\n.diff-badge,\n.diff-info,\n.diff-spinner {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.diff-number {\n opacity: 0.9;\n font-size: 90%;\n padding: 0 var(--halfpad);\n}\n\n.diff-number:hover {\n text-decoration: underline;\n cursor: pointer;\n}\n\n.diff-comments-count {\n font-size: 90%;\n align-items: center;\n display: flex;\n gap: 2px;\n}\n\n.diff-signal-summary {\n display: flex;\n align-items: center;\n}\n\n.diff-signal-pass {\n color: var(--scm-added-foreground);\n}\n\n.diff-signal-failed {\n color: var(--scm-removed-foreground);\n}\n",".branch-indicator-container {\n display: flex;\n align-items: flex-start;\n flex-shrink: 0;\n height: 100%;\n opacity: 1;\n}\n\n.branch-indicator-container > svg {\n color: var(--foreground);\n}\n\n.curve {\n position: relative;\n left: -3px;\n}\n\n.circle {\n transition: 0.2s;\n}\n\n.highlighted {\n filter: drop-shadow(0px 0px 3px var(--focus-border));\n fill: var(--focus-border);\n}\n\n.branch-indicator-flex-grow {\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n",".comparison-view-file {\n width: 100%;\n}\n\n.comparison-view-base-styles,\n.comparison-view-container,\n.comparison-view {\n display: contents;\n}\n\n.comparison-view-header {\n padding: var(--pad) 0 var(--halfpad) 0;\n margin-bottom: var(--pad);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.comparison-view-header-group {\n display: flex;\n gap: var(--pad);\n align-items: center;\n}\n\n.comparison-view-details {\n overflow-y: scroll;\n display: flex;\n flex-direction: column;\n gap: 20px;\n padding-bottom: var(--pad);\n align-items: center;\n}\n\n/*\n * Override split diff view file header to be sticky.\n * This also requires adding borders to the file header (previously only on the container)\n */\n.comparison-view .split-diff-view-file-header {\n position: sticky;\n top: 0;\n margin-left: -1px;\n margin-right: -1px;\n border: 1px solid var(--panel-view-border);\n /* Remove all border radius so the sticky header doesn't show any of the diff behind it */\n border-radius: 0;\n display: flex;\n align-items: center;\n gap: var(--halfpad);\n}\n\n.comparison-view .split-diff-view {\n border-top-width: 0;\n border-radius: 0;\n}\n\n.file-header-copyable-path {\n cursor: pointer;\n}\n\n.file-header-copyable-path:hover > .file-header-path-element {\n text-decoration: underline;\n}\n",".top-bar-buttons {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n padding: 4px;\n gap: 6px;\n border-bottom: 1px solid var(--panel-view-border);\n}\n\n.auth-warning-icon {\n display: flex;\n color: #ffcc00;\n}\n\n.button-group {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n",".get-menu {\n display: flex;\n flex-direction: column;\n gap: var(--pad);\n max-width: 90vw;\n}\n\n.get-title {\n font-weight: 600;\n}\n\n.get-hr {\n width: 100%;\n border-color: var(--panel-view-border);\n}\n",".pull-info {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--pad);\n}\n",".vscode-button-dropdown {\n --chevron-width: 20px;\n display: flex;\n align-items: center;\n position: relative;\n}\n.vscode-button-dropdown-chevron {\n background-color: rgba(0, 0, 0, 0.1);\n padding: 1px;\n height: 26px;\n border-left: 1px solid var(--button-secondary-foreground);\n pointer-events: visible;\n padding: 0 var(--halfpad);\n\n background: var(--button-secondary-background);\n color: var(--button-secondary-foreground);\n vertical-align: middle;\n display: flex;\n align-items: center;\n}\n\n.vscode-button-dropdown:before {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.vscode-button-dropdown select {\n background-color: var(--button-secondary-background);\n color: var(--button-secondary-foreground);\n\n cursor: pointer;\n width: 24px;\n border: none;\n border-radius: 0px 2px 2px 0px; /* meet with button */\n outline: none;\n padding: 4px;\n outline-offset: 2px;\n height: 26px;\n vertical-align: bottom;\n appearance: none;\n line-height: 0;\n /* Embed image for chevron, since we can't add children to <select> */\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjEyIDEwLjA3MTlMMTIuMzMzNCA1LjcxNDZMMTIuOTUyMSA2LjMzMzMyTDguMjg1NDggMTFMNy42NjY3NiAxMUwzLjAwMDEgNi4zMzMzMkwzLjYxODgyIDUuNzE0Nkw3Ljk3NjEyIDEwLjA3MTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);\n\n border-left: 1px solid var(--button-secondary-foreground);\n}\n\n.vscode-button-dropdown vscode-button {\n border-radius: 2px 0 0 2px;\n}\n\n.vscode-button-dropdown select:focus {\n outline: 1px solid var(--focus-border);\n}\n.vscode-button-dropdown select:disabled {\n cursor: not-allowed;\n}\n\n.vscode-button-dropdown select:not(:disabled):hover {\n background-color: var(--button-secondary-hover-background);\n}\n",".welcome {\n display: flex;\n flex-direction: column;\n justify-content: top;\n gap: 12px;\n padding: 24px;\n}\n\n.welcome-logo {\n max-width: 100%;\n max-height: 100%;\n height: auto;\n}\n\n.welcome-link {\n display: inline;\n white-space: nowrap;\n}\n\n.welcome-title {\n font-weight: 600;\n}\n\n.welcome-text-small {\n font-size: 12px;\n}\n\n.welcome-error {\n color: var(--error-fg-color);\n overflow-wrap: anywhere;\n white-space: break-spaces;\n}\n"],"names":[],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/274.d7df68a1.chunk.js","mappings":"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","sources":["lib/design/EmptyState.tsx","lib/primer/utils/theme.ts","lib/primer/theme.ts","lib/primer/constants.ts","lib/primer/ThemeProvider.tsx","lib/primer/BaseStyles.tsx","lib/primer/sx.ts","lib/primer/Box.tsx","lib/primer/Text.tsx","parts/split-diff-view/SplitDiffFileHeader.tsx","lib/primer/Spinner.tsx","parts/split-diff-view/SplitDiffRow.tsx","parts/split-diff-view/SplitDiffHunk.tsx","parts/split-diff-view/organizeLinesIntoGroups.ts","parts/split-diff-view/index.tsx","parts/split-diff-view/PrimerStyles.tsx","parts/comparison-view/ComparisonView.tsx"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport \"./EmptyState.scss\";\nexport function EmptyState({ children }) {\n return (_jsx(\"div\", Object.assign({ className: \"empty-state\" }, { children: _jsx(\"div\", { children: children }) })));\n}\n","// Utility functions used in theme-preval.js\n// This file needs to be a JavaScript file using CommonJS to be compatible with preval\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { isEmpty, isObject } from \"lodash\";\nexport function fontStack(fonts) {\n return fonts\n .map((font) => (font.includes(\" \") ? `\"${font}\"` : font))\n .join(\", \");\n}\n// The following functions are a temporary measure for splitting shadow values out from the colors object.\n// Eventually, we will push these structural changes upstream to primer/primitives so this data manipulation\n// will not be needed.\nfunction isShadowValue(value) {\n return (typeof value === \"string\" &&\n /(inset\\s|)([0-9.]+(\\w*)\\s){1,4}(rgb[a]?\\(.*\\)|\\w+)/.test(value));\n}\nfunction isColorValue(value) {\n if (isShadowValue(value))\n return false;\n if (value.startsWith(\"#\"))\n return true; // #hex\n if (value.startsWith(\"rgb\"))\n return true; // rgb, rgba\n if (value.startsWith(\"hsl\"))\n return true; // hsl, hsla\n return false;\n}\nfunction filterObject(obj, predicate) {\n if (Array.isArray(obj)) {\n return obj.filter(predicate);\n }\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (isObject(value)) {\n const result = filterObject(value, predicate);\n // Don't include empty objects or arrays\n if (!isEmpty(result)) {\n acc[key] = result;\n }\n }\n else if (predicate(value)) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\nexport function partitionColors(colors) {\n return {\n colors: filterObject(colors, (value) => isColorValue(value)),\n shadows: filterObject(colors, (value) => isShadowValue(value)),\n };\n}\nexport function omitScale(obj) {\n const { scale } = obj, rest = __rest(obj, [\"scale\"]);\n void scale;\n return rest;\n}\n","import primitives from \"@primer/primitives\";\nimport { fontStack, omitScale, partitionColors } from \"./utils/theme\";\nconst { lineHeight: lineHeights } = primitives.typography.normal;\nconst animation = {\n easeOutCubic: \"cubic-bezier(0.33, 1, 0.68, 1)\",\n};\nconst breakpoints = [\"544px\", \"768px\", \"1012px\", \"1280px\"];\nconst fonts = {\n normal: fontStack([\n \"-apple-system\",\n \"BlinkMacSystemFont\",\n \"Segoe UI\",\n \"Noto Sans\",\n \"Helvetica\",\n \"Arial\",\n \"sans-serif\",\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n ]),\n mono: fontStack([\n \"SFMono-Regular\",\n \"Consolas\",\n \"Liberation Mono\",\n \"Menlo\",\n \"Courier\",\n \"monospace\",\n ]),\n};\nconst fontWeights = {\n light: 300,\n normal: 400,\n semibold: 500,\n bold: 600,\n};\nconst borderWidths = [0, \"1px\"];\nconst radii = [\"0\", \"3px\", \"6px\", \"100px\"];\nconst sizes = {\n small: \"544px\",\n medium: \"768px\",\n large: \"1012px\",\n xlarge: \"1280px\",\n};\nconst fontSizes = [\n \"12px\",\n \"14px\",\n \"16px\",\n \"20px\",\n \"24px\",\n \"32px\",\n \"40px\",\n \"48px\",\n];\nconst space = [\n \"0\",\n \"4px\",\n \"8px\",\n \"16px\",\n \"24px\",\n \"32px\",\n \"40px\",\n \"48px\",\n \"64px\",\n \"80px\",\n \"96px\",\n \"112px\",\n \"128px\",\n];\nconst colorSchemes = Object.entries(primitives.colors).reduce((acc, [name, variables]) => {\n const { colors, shadows } = partitionColors(variables);\n return Object.assign(Object.assign({}, acc), { [name]: {\n colors: omitScale(colors),\n shadows: omitScale(shadows),\n } });\n}, {});\nexport const theme = {\n animation,\n borderWidths,\n breakpoints,\n fonts,\n fontSizes,\n fontWeights,\n lineHeights,\n radii,\n sizes,\n space,\n colorSchemes,\n};\n","import { themeGet } from \"@styled-system/theme-get\";\n// eslint-disable-next-line import/no-namespace\nimport * as styledSystem from \"styled-system\";\nimport { theme } from \"./theme\";\nconst { get: getKey, compose, system } = styledSystem;\nexport const get = (key) => themeGet(key, getKey(theme, key));\n// Common props\nexport const COMMON = compose(styledSystem.space, styledSystem.color, styledSystem.display);\n// Typography props\nconst whiteSpace = system({\n whiteSpace: {\n property: \"whiteSpace\",\n // cssProperty: 'whiteSpace',\n },\n});\nexport const TYPOGRAPHY = compose(styledSystem.typography, whiteSpace);\n// Border props\nexport const BORDER = compose(styledSystem.border, styledSystem.shadow);\n// Layout props\nexport const LAYOUT = styledSystem.layout;\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport deepmerge from \"deepmerge\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ThemeProvider as SCThemeProvider } from \"styled-components\";\nimport { theme as defaultTheme } from \"./theme\";\nexport const defaultColorMode = \"day\";\nconst defaultDayScheme = \"light\";\nconst defaultNightScheme = \"dark\";\nconst ThemeContext = React.createContext({\n setColorMode: () => null,\n setDayScheme: () => null,\n setNightScheme: () => null,\n});\n// inspired from __NEXT_DATA__, we use application/json to avoid CSRF policy with inline scripts\nconst getServerHandoff = () => {\n var _a;\n try {\n const serverData = (_a = document.getElementById(\"__PRIMER_DATA__\")) === null || _a === void 0 ? void 0 : _a.textContent;\n if (serverData)\n return JSON.parse(serverData);\n }\n catch (error) {\n // if document/element does not exist or JSON is invalid, supress error\n }\n return {};\n};\nexport const ThemeProvider = (_a) => {\n var _b, _c, _d, _e, _f, _g, _h, _j;\n var { children } = _a, props = __rest(_a, [\"children\"]);\n // Get fallback values from parent ThemeProvider (if exists)\n const { theme: fallbackTheme, colorMode: fallbackColorMode, dayScheme: fallbackDayScheme, nightScheme: fallbackNightScheme, } = useTheme();\n // Initialize state\n const theme = (_c = (_b = props.theme) !== null && _b !== void 0 ? _b : fallbackTheme) !== null && _c !== void 0 ? _c : defaultTheme;\n const { resolvedServerColorMode } = getServerHandoff();\n const resolvedColorModePassthrough = React.useRef(resolvedServerColorMode);\n const [colorMode, setColorMode] = React.useState((_e = (_d = props.colorMode) !== null && _d !== void 0 ? _d : fallbackColorMode) !== null && _e !== void 0 ? _e : defaultColorMode);\n const [dayScheme, setDayScheme] = React.useState((_g = (_f = props.dayScheme) !== null && _f !== void 0 ? _f : fallbackDayScheme) !== null && _g !== void 0 ? _g : defaultDayScheme);\n const [nightScheme, setNightScheme] = React.useState((_j = (_h = props.nightScheme) !== null && _h !== void 0 ? _h : fallbackNightScheme) !== null && _j !== void 0 ? _j : defaultNightScheme);\n const systemColorMode = useSystemColorMode();\n const resolvedColorMode = resolvedColorModePassthrough.current ||\n resolveColorMode(colorMode, systemColorMode);\n const colorScheme = chooseColorScheme(resolvedColorMode, dayScheme, nightScheme);\n const { resolvedTheme, resolvedColorScheme } = React.useMemo(() => applyColorScheme(theme, colorScheme), [theme, colorScheme]);\n // this effect will only run on client\n React.useEffect(function updateColorModeAfterServerPassthrough() {\n const resolvedColorModeOnClient = resolveColorMode(colorMode, systemColorMode);\n if (resolvedColorModePassthrough.current) {\n // if the resolved color mode passed on from the server is not the resolved color mode on client, change it!\n if (resolvedColorModePassthrough.current !== resolvedColorModeOnClient) {\n window.setTimeout(() => {\n // use ReactDOM.flushSync to prevent automatic batching of state updates since React 18\n // ref: https://github.com/reactwg/react-18/discussions/21\n ReactDOM.flushSync(() => {\n // override colorMode to whatever is resolved on the client to get a re-render\n setColorMode(resolvedColorModeOnClient);\n });\n // immediately after that, set the colorMode to what the user passed to respond to system color mode changes\n setColorMode(colorMode);\n });\n }\n resolvedColorModePassthrough.current = null;\n }\n }, [colorMode, systemColorMode]);\n // Update state if props change\n React.useEffect(() => {\n var _a, _b;\n setColorMode((_b = (_a = props.colorMode) !== null && _a !== void 0 ? _a : fallbackColorMode) !== null && _b !== void 0 ? _b : defaultColorMode);\n }, [props.colorMode, fallbackColorMode]);\n React.useEffect(() => {\n var _a, _b;\n setDayScheme((_b = (_a = props.dayScheme) !== null && _a !== void 0 ? _a : fallbackDayScheme) !== null && _b !== void 0 ? _b : defaultDayScheme);\n }, [props.dayScheme, fallbackDayScheme]);\n React.useEffect(() => {\n var _a, _b;\n setNightScheme((_b = (_a = props.nightScheme) !== null && _a !== void 0 ? _a : fallbackNightScheme) !== null && _b !== void 0 ? _b : defaultNightScheme);\n }, [props.nightScheme, fallbackNightScheme]);\n return (_jsx(ThemeContext.Provider, Object.assign({ value: {\n theme: resolvedTheme,\n colorScheme,\n colorMode,\n resolvedColorMode,\n resolvedColorScheme,\n dayScheme,\n nightScheme,\n setColorMode,\n setDayScheme,\n setNightScheme,\n } }, { children: _jsxs(SCThemeProvider, Object.assign({ theme: resolvedTheme }, { children: [children, props.preventSSRMismatch ? (_jsx(\"script\", { type: \"application/json\", id: \"__PRIMER_DATA__\", dangerouslySetInnerHTML: {\n __html: JSON.stringify({\n resolvedServerColorMode: resolvedColorMode,\n }),\n } })) : null] })) })));\n};\nexport function useTheme() {\n return React.useContext(ThemeContext);\n}\nexport function useColorSchemeVar(values, fallback) {\n var _a;\n const { colorScheme = \"\" } = useTheme();\n return (_a = values[colorScheme]) !== null && _a !== void 0 ? _a : fallback;\n}\nfunction useSystemColorMode() {\n const [systemColorMode, setSystemColorMode] = React.useState(getSystemColorMode);\n React.useEffect(() => {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const media = (_a = window === null || window === void 0 ? void 0 : window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, \"(prefers-color-scheme: dark)\");\n function handleChange(event) {\n const isNight = event.matches;\n setSystemColorMode(isNight ? \"night\" : \"day\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (media) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (media.addEventListener !== undefined) {\n media.addEventListener(\"change\", handleChange);\n return function cleanup() {\n media.removeEventListener(\"change\", handleChange);\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n else if (media.addListener !== undefined) {\n media.addListener(handleChange);\n return function cleanup() {\n media.removeListener(handleChange);\n };\n }\n }\n }, []);\n return systemColorMode;\n}\nfunction getSystemColorMode() {\n var _a, _b;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== \"undefined\" &&\n ((_b = (_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, \"(prefers-color-scheme: dark)\")) === null || _b === void 0 ? void 0 : _b.matches)) {\n return \"night\";\n }\n return \"day\";\n}\nfunction resolveColorMode(colorMode, systemColorMode) {\n switch (colorMode) {\n case \"auto\":\n return systemColorMode;\n default:\n return colorMode;\n }\n}\nfunction chooseColorScheme(colorMode, dayScheme, nightScheme) {\n switch (colorMode) {\n case \"day\":\n case \"light\":\n return dayScheme;\n case \"dark\":\n case \"night\":\n return nightScheme;\n }\n}\nfunction applyColorScheme(theme, colorScheme) {\n if (!theme.colorSchemes) {\n return {\n resolvedTheme: theme,\n resolvedColorScheme: undefined,\n };\n }\n if (!theme.colorSchemes[colorScheme]) {\n // eslint-disable-next-line no-console\n console.error(`\\`${colorScheme}\\` scheme not defined in \\`theme.colorSchemes\\``);\n // Apply the first defined color scheme\n const defaultColorScheme = Object.keys(theme.colorSchemes)[0];\n return {\n resolvedTheme: deepmerge(theme, theme.colorSchemes[defaultColorScheme]),\n resolvedColorScheme: defaultColorScheme,\n };\n }\n return {\n resolvedTheme: deepmerge(theme, theme.colorSchemes[colorScheme]),\n resolvedColorScheme: colorScheme,\n };\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport styled, { createGlobalStyle } from \"styled-components\";\nimport { COMMON, TYPOGRAPHY, } from \"./constants\";\nimport { useTheme } from \"./ThemeProvider\";\nconst GlobalStyle = createGlobalStyle `\n * { box-sizing: border-box; }\n body { margin: 0; }\n table { border-collapse: collapse; }\n input { color-scheme: ${(props) => props.colorScheme}; }\n\n [role=\"button\"]:focus:not(:focus-visible):not(.focus-visible),\n [role=\"tabpanel\"][tabindex=\"0\"]:focus:not(:focus-visible):not(.focus-visible),\n button:focus:not(:focus-visible):not(.focus-visible),\n summary:focus:not(:focus-visible):not(.focus-visible),\n a:focus:not(:focus-visible):not(.focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n [tabindex=\"0\"]:focus:not(:focus-visible):not(.focus-visible),\n details-dialog:focus:not(:focus-visible):not(.focus-visible) {\n outline: none;\n }\n`;\nconst Base = styled.div `\n ${TYPOGRAPHY};\n ${COMMON};\n`;\nexport function BaseStyles(props) {\n const { children, color = \"fg.default\", fontFamily = \"normal\", lineHeight = \"default\" } = props, rest = __rest(props, [\"children\", \"color\", \"fontFamily\", \"lineHeight\"]);\n const { colorScheme, dayScheme, nightScheme } = useTheme();\n /**\n * We need to map valid primer/react color modes onto valid color modes for primer/primitives\n * valid color modes for primer/primitives: auto | light | dark\n * valid color modes for primer/primer: auto | day | night | light | dark\n */\n return (_jsxs(Base, Object.assign({}, rest, { color: color, fontFamily: fontFamily, lineHeight: lineHeight, \"data-portal-root\": true, \"data-color-mode\": (colorScheme === null || colorScheme === void 0 ? void 0 : colorScheme.includes(\"dark\")) ? \"dark\" : \"light\", \"data-light-theme\": dayScheme, \"data-dark-theme\": nightScheme }, { children: [_jsx(GlobalStyle, { colorScheme: (colorScheme === null || colorScheme === void 0 ? void 0 : colorScheme.includes(\"dark\")) ? \"dark\" : \"light\" }), children] })));\n}\n","import css from \"@styled-system/css\";\nimport merge from \"deepmerge\";\nconst sx = (props) => css(props.sx);\nexport { merge, sx };\n","import styled from \"styled-components\";\nimport { background, border, color, flexbox, grid, layout, position, shadow, space, typography, } from \"styled-system\";\nimport { sx } from \"./sx\";\nexport const Box = styled.div(space, color, typography, layout, flexbox, grid, background, border, position, shadow, sx);\n","import styled from \"styled-components\";\nimport { COMMON, TYPOGRAPHY, } from \"./constants\";\nimport { sx } from \"./sx\";\nexport const Text = styled.span `\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { ChevronDownIcon, ChevronUpIcon } from \"@primer/octicons-react\";\nimport { Icon } from \"../../lib/design/Icon\";\nimport { Box } from \"../../lib/primer/Box\";\nimport { Text } from \"../../lib/primer/Text\";\nexport function FileHeader({ ctx, path, diffType, open, onChangeOpen, }) {\n // Even though the enclosing <SplitDiffView> will have border-radius set, we\n // have to define it again here or things don't look right.\n const color = diffType === undefined ? \"fg.muted\" : diffTypeToColor[diffType];\n const pathSeparator = \"/\";\n const pathParts = path.split(pathSeparator);\n return (_jsxs(Box, Object.assign({ className: \"split-diff-view-file-header\", display: \"flex\", alignItems: \"center\", bg: \"accent.subtle\", color: color, paddingX: 2, paddingY: 1, lineHeight: 2, backgroundColor: \"canvas.subtle\", borderTopRightRadius: 2, borderTopLeftRadius: 2, borderBottomColor: \"border.default\", borderBottomStyle: \"solid\", borderBottomWidth: \"1px\" }, { children: [onChangeOpen && (_jsx(Box, Object.assign({ paddingRight: 2, onClick: () => onChangeOpen(!open), sx: { cursor: \"pointer\" } }, { children: open ? _jsx(ChevronUpIcon, { size: 24 }) : _jsx(ChevronDownIcon, { size: 24 }) }))), diffType !== undefined && _jsx(Icon, { icon: diffTypeToIcon[diffType] }), _jsx(Text, Object.assign({ fontFamily: \"mono\", fontSize: 12 }, { children: pathParts.reduce((acc, part, idx) => {\n // Nest path parts in a particular way so we can use plain CSS\n // hover selectors to underline nested sub-paths.\n const pathSoFar = pathParts.slice(idx).join(pathSeparator);\n const copy = ctx === null || ctx === void 0 ? void 0 : ctx.copy;\n return (_jsxs(\"span\", Object.assign({ className: copy && \"file-header-copyable-path\" }, { children: [acc, _jsxs(\"span\", Object.assign({ \n // TODO: better translate API that supports templates.\n title: copy && `Copy ${pathSoFar}`, onClick: copy && (() => copy(pathSoFar)), className: \"file-header-path-element\" }, { children: [part, idx < pathParts.length - 1 ? pathSeparator : \"\"] }))] }), idx));\n }, _jsx(\"span\", {})) }))] })));\n}\nconst diffTypeToColor = {\n Modified: \"var(--scm-modified-foreground)\",\n Added: \"var(--scm-added-foreground)\",\n Removed: \"var(--scm-removed-foreground)\",\n Renamed: \"var(--scm-modified-foreground)\",\n Copied: \"var(--scm-added-foreground)\",\n};\nconst diffTypeToIcon = {\n Modified: \"diff-modified\",\n Added: \"diff-added\",\n Removed: \"diff-removed\",\n Renamed: \"diff-renamed\",\n Copied: \"diff-renamed\",\n};\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport styled from \"styled-components\";\nimport { sx } from \"./sx\";\nconst sizeMap = {\n small: \"16px\",\n medium: \"32px\",\n large: \"64px\",\n};\nfunction UnstyledSpinner(_a) {\n var { size: sizeKey = \"medium\" } = _a, props = __rest(_a, [\"size\"]);\n const size = sizeMap[sizeKey];\n return (_jsxs(\"svg\", Object.assign({ height: size, width: size, viewBox: \"0 0 16 16\", fill: \"none\" }, props, { children: [_jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", stroke: \"currentColor\", strokeOpacity: \"0.25\", strokeWidth: \"2\", vectorEffect: \"non-scaling-stroke\" }), _jsx(\"path\", { d: \"M15 8a7.002 7.002 0 00-7-7\", stroke: \"currentColor\", strokeWidth: \"2\", strokeLinecap: \"round\", vectorEffect: \"non-scaling-stroke\" })] })));\n}\nexport const Spinner = styled(UnstyledSpinner) `\n @keyframes rotate-keyframes {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n animation: rotate-keyframes 1s linear infinite;\n\n ${sx}\n`;\nSpinner.displayName = \"Spinner\";\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Box } from \"../../lib/primer/Box\";\nexport function SplitDiffRow({ beforeLineNumber, before, afterLineNumber, after, rowType, path, openFileToLine, }) {\n let beforeClass;\n let afterClass;\n switch (rowType) {\n case \"remove\":\n beforeClass = \"patch-remove-line\";\n afterClass = undefined;\n break;\n case \"modify\":\n beforeClass = \"patch-remove-line\";\n afterClass = \"patch-add-line\";\n break;\n case \"add\":\n beforeClass = undefined;\n afterClass = \"patch-add-line\";\n break;\n case \"common\":\n beforeClass = undefined;\n afterClass = undefined;\n break;\n case \"expanded\":\n beforeClass = \"patch-expanded\";\n afterClass = \"patch-expanded\";\n break;\n }\n // Note that 'expanded' is a special case of 'common' where it is code that is\n // common to both sides of the diff, but was previously displayed as\n // collapsed. For whatever reason, GitHub does not make it possible to comment\n // on lines outside of the patch contents in PRs:\n //\n // https://github.com/isaacs/github/issues/1655\n //\n // Even if you try to do so programmatically via the GraphQL API, it *still*\n // doesn't work, so this seems to be some quirk in the underlying data model.\n const canComment = rowType !== \"expanded\";\n return (_jsxs(\"tr\", { children: [_jsx(SplitDiffRowSide, { className: beforeClass, content: before, lineNumber: beforeLineNumber, path: path, side: \"LEFT\", canComment: canComment }), _jsx(SplitDiffRowSide, { className: afterClass, content: after, lineNumber: afterLineNumber, path: path, side: \"RIGHT\", canComment: canComment, openFileToLine: openFileToLine })] }));\n}\nfunction SplitDiffRowSide({ className, content, lineNumber, path, side, openFileToLine, }) {\n const lineNumberBorderStyle = side === \"RIGHT\" ? extraRightLineNumberCellProps : {};\n const clickableLineNumber = openFileToLine != null && lineNumber != null;\n const extraClassName = (className != null ? ` ${className}-number` : \"\") +\n (clickableLineNumber ? \" clickable\" : \"\");\n return (_jsxs(_Fragment, { children: [_jsx(Box, Object.assign({ as: \"td\", className: `lineNumber${extraClassName}`, \"data-line-number\": lineNumber, \"data-path\": path, \"data-side\": side, onClick: clickableLineNumber ? () => openFileToLine(lineNumber) : undefined }, lineNumberBorderStyle, { children: lineNumber })), _jsx(\"td\", Object.assign({ className: className }, { children: content }))] }));\n}\nconst extraRightLineNumberCellProps = {\n borderLeftWidth: \"1px\",\n borderLeftStyle: \"solid\",\n borderLeftColor: \"border.default\",\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { UnfoldIcon } from \"@primer/octicons-react\";\nimport { diffChars } from \"diff\";\nimport { observer } from \"mobx-react-lite\";\nimport React, { useCallback, useState } from \"react\";\nimport { Box } from \"../../lib/primer/Box\";\nimport { Spinner } from \"../../lib/primer/Spinner\";\nimport { Text } from \"../../lib/primer/Text\";\nimport { organizeLinesIntoGroups } from \"./organizeLinesIntoGroups\";\nimport { SplitDiffRow } from \"./SplitDiffRow\";\nconst MAX_INPUT_LENGTH_FOR_INTRALINE_DIFF = 300;\nexport const SplitDiffTable = React.memo(({ ctx, path, patch, preamble, }) => {\n var _a;\n const [deletedFileExpanded, setDeletedFileExpanded] = useState(false);\n const [expandedSeparators, setExpandedSeparators] = useState(() => new Set());\n const onExpand = useCallback((key) => {\n const amendedSet = new Set(expandedSeparators);\n amendedSet.add(key);\n setExpandedSeparators(amendedSet);\n }, [expandedSeparators, setExpandedSeparators]);\n const t = (_a = ctx.translate) !== null && _a !== void 0 ? _a : ((s) => s);\n const isDeleted = patch.newFileName === \"/dev/null\";\n const { hunks } = patch;\n const lastHunkIndex = hunks.length - 1;\n const rows = [...(preamble !== null && preamble !== void 0 ? preamble : [])];\n if (!isDeleted || deletedFileExpanded) {\n hunks.forEach((hunk, index) => {\n // Show a separator before the first hunk if the file starts with a\n // section of unmodified lines that is hidden by default.\n if (index === 0 && (hunk.oldStart !== 1 || hunk.newStart !== 1)) {\n // TODO: test empty file that went from 644 to 755?\n const key = \"s0\";\n if (expandedSeparators.has(key)) {\n const range = {\n id: ctx.id,\n start: 1,\n numLines: hunk.oldStart - 1,\n };\n rows.push(_jsx(ExpandingSeparator, { ctx: ctx, range: range, path: path, beforeLineStart: 1, afterLineStart: 1, t: t }, key));\n }\n else {\n const numLines = Math.max(hunk.oldStart, hunk.newStart) - 1;\n rows.push(_jsx(HunkSeparator, { numLines: numLines, onExpand: () => onExpand(key), t: t }, key));\n }\n }\n addRowsForHunk(hunk, path, rows, ctx.openFileToLine);\n if (index !== lastHunkIndex) {\n const nextHunk = hunks[index + 1];\n const key = `s${hunk.oldStart}`;\n if (expandedSeparators.has(key)) {\n const start = hunk.oldStart + hunk.oldLines;\n const numLines = nextHunk.oldStart - start;\n const range = {\n id: ctx.id,\n start,\n numLines,\n };\n rows.push(_jsx(ExpandingSeparator, { ctx: ctx, range: range, path: path, beforeLineStart: hunk.oldStart + hunk.oldLines, afterLineStart: hunk.newStart + hunk.newLines, t: t }, key));\n }\n else {\n const numLines = nextHunk.oldStart - hunk.oldLines - hunk.oldStart;\n rows.push(_jsx(HunkSeparator, { numLines: numLines, onExpand: () => onExpand(key), t: t }, key));\n }\n }\n });\n }\n else {\n rows.push(_jsx(SeparatorRow, { children: _jsxs(Box, Object.assign({ display: \"inline-block\", onClick: () => setDeletedFileExpanded(true), padding: 1, sx: {\n cursor: \"pointer\",\n \":hover\": { bg: \"accent.emphasis\", color: \"fg.onEmphasis\" },\n } }, { children: [_jsx(UnfoldIcon, { size: 16 }), _jsx(Text, Object.assign({ paddingX: 4 }, { children: \"Show deleted file\" })), _jsx(UnfoldIcon, { size: 16 })] })) }, \"show-deleted\"));\n }\n return (_jsxs(\"table\", Object.assign({ className: \"SplitDiffView-hunk-table\" }, { children: [_jsxs(\"colgroup\", { children: [_jsx(\"col\", { width: 50 }), _jsx(\"col\", { width: \"50%\" }), _jsx(\"col\", { width: 50 }), _jsx(\"col\", { width: \"50%\" })] }), _jsx(\"tbody\", { children: rows })] })));\n});\n/**\n * Adds new rows to the supplied `rows` array.\n */\n// eslint-disable-next-line max-params\nfunction addRowsForHunk(hunk, path, rows, openFileToLine) {\n const { oldStart, newStart, lines } = hunk;\n const groups = organizeLinesIntoGroups(lines);\n let beforeLineNumber = oldStart;\n let afterLineNumber = newStart;\n groups.forEach((group) => {\n const { common, removed, added } = group;\n addUnmodifiedRows(common, path, \"common\", beforeLineNumber, afterLineNumber, rows, openFileToLine);\n beforeLineNumber += common.length;\n afterLineNumber += common.length;\n const maxIndex = Math.max(removed.length, added.length);\n for (let index = 0; index < maxIndex; ++index) {\n const removedLine = removed[index];\n const addedLine = added[index];\n if (removedLine != null && addedLine != null) {\n const beforeAndAfter = createIntralineDiff(removedLine, addedLine);\n const [before, after] = beforeAndAfter;\n rows.push(_jsx(SplitDiffRow, { beforeLineNumber: beforeLineNumber, before: before, afterLineNumber: afterLineNumber, after: after, rowType: \"modify\", path: path, openFileToLine: openFileToLine }, `${beforeLineNumber}/${afterLineNumber}`));\n ++beforeLineNumber;\n ++afterLineNumber;\n }\n else if (removedLine != null) {\n rows.push(_jsx(SplitDiffRow, { beforeLineNumber: beforeLineNumber, before: removedLine, afterLineNumber: null, after: null, rowType: \"remove\", path: path, openFileToLine: openFileToLine }, `${beforeLineNumber}/`));\n ++beforeLineNumber;\n }\n else {\n rows.push(_jsx(SplitDiffRow, { beforeLineNumber: null, before: null, afterLineNumber: afterLineNumber, after: addedLine, rowType: \"add\", path: path, openFileToLine: openFileToLine }, `/${afterLineNumber}`));\n ++afterLineNumber;\n }\n }\n });\n}\n/**\n * Adds new rows to the supplied `rows` array.\n */\n// eslint-disable-next-line max-params\nfunction addUnmodifiedRows(lines, path, rowType, initialBeforeLineNumber, initialAfterLineNumber, rows, openFileToLine) {\n let beforeLineNumber = initialBeforeLineNumber;\n let afterLineNumber = initialAfterLineNumber;\n lines.forEach((lineContent) => {\n rows.push(_jsx(SplitDiffRow, { beforeLineNumber: beforeLineNumber, before: lineContent, afterLineNumber: afterLineNumber, after: lineContent, rowType: rowType, path: path, openFileToLine: openFileToLine }, `${beforeLineNumber}/${afterLineNumber}`));\n ++beforeLineNumber;\n ++afterLineNumber;\n });\n}\nfunction createIntralineDiff(before, after) {\n // For lines longer than this, diffChars() can get very expensive to compute\n // and is likely of little value to the user.\n if (before.length + after.length > MAX_INPUT_LENGTH_FOR_INTRALINE_DIFF) {\n return [before, after];\n }\n const changes = diffChars(before, after);\n const beforeElements = [];\n const afterElements = [];\n changes.forEach((change, index) => {\n const { added, removed, value } = change;\n if (added) {\n afterElements.push(_jsx(\"span\", Object.assign({ className: \"patch-add-word\" }, { children: value }), index));\n }\n else if (removed) {\n beforeElements.push(_jsx(\"span\", Object.assign({ className: \"patch-remove-word\" }, { children: value }), index));\n }\n else {\n beforeElements.push(value);\n afterElements.push(value);\n }\n });\n return [beforeElements, afterElements];\n}\n/**\n * Visual element to delimit the discontinuity in a SplitDiffView.\n */\nfunction HunkSeparator({ numLines, onExpand, }) {\n if (numLines === 0) {\n return null;\n }\n // TODO: Ensure numLines is never below a certain threshold: it takes up more\n // space to display the separator than it does to display the text (though\n // admittedly fetching the collapsed text is an async operation).\n const label = numLines === 1 ? \"Expand 1 line\" : `Expand ${numLines} lines`;\n return (_jsx(SeparatorRow, { children: _jsxs(Box, Object.assign({ display: \"inline-block\", onClick: onExpand, padding: 1, sx: {\n cursor: \"pointer\",\n \":hover\": { bg: \"accent.emphasis\", color: \"fg.onEmphasis\" },\n } }, { children: [_jsx(UnfoldIcon, { size: 16 }), _jsx(Text, Object.assign({ paddingX: 4 }, { children: label })), _jsx(UnfoldIcon, { size: 16 })] })) }));\n}\n/**\n * This replaces a <HunkSeparator> when the user clicks on it to expand the\n * hidden file contents.\n */\nconst ExpandingSeparator = observer(({ ctx, path, range, beforeLineStart, afterLineStart, }) => {\n const loadable = ctx.atoms.lineRange(range).get();\n switch (loadable.state) {\n case \"fulfilled\": {\n const rows = [];\n const lines = loadable.value;\n addUnmodifiedRows(lines, path, \"expanded\", beforeLineStart, afterLineStart, rows, ctx.openFileToLine);\n return _jsx(_Fragment, { children: rows });\n }\n case \"pending\": {\n return (_jsx(SeparatorRow, { children: _jsx(Box, Object.assign({ padding: 1, display: \"flex\", flexDirection: \"row\", justifyContent: \"center\", alignItems: \"center\" }, { children: _jsxs(Box, Object.assign({ display: \"flex\", alignItems: \"center\" }, { children: [_jsx(Spinner, { size: \"small\" }), _jsx(Text, Object.assign({ marginLeft: 2 }, { children: \"Loading...\" }))] })) })) }));\n }\n case \"rejected\": {\n return (_jsx(SeparatorRow, { children: _jsx(Box, Object.assign({ padding: 1, display: \"flex\", flexDirection: \"row\", justifyContent: \"center\", alignItems: \"center\" }, { children: _jsx(Box, Object.assign({ display: \"flex\", alignItems: \"center\" }, { children: _jsxs(Text, { children: [\"Error:\", \" \", loadable.value.message] }) })) })) }));\n }\n }\n});\nfunction SeparatorRow({ children, }) {\n return (_jsx(Box, Object.assign({ as: \"tr\", bg: \"accent.subtle\", color: \"fg.muted\", height: 12 }, { children: _jsx(Box, Object.assign({ as: \"td\", colSpan: 4, className: \"separator\" }, { children: children })) })));\n}\n","/**\n * We must find the groups within `lines` so that multiline sequences of\n * modified lines are displayed correctly. A group is defined by:\n *\n * - a sequence of 0 or more \"common lines\" that start with ' '\n * - a sequence of 0 or more \"removed lines\" that start with '-'\n * - a sequence of 0 or more \"added lines\" that start with '+'\n *\n * Therefore, the end of a group is determined by either:\n *\n * - reaching the end of a list of lines\n * - encountering a \"common line\" after an \"added\" or \"removed\" line.\n */\nexport function organizeLinesIntoGroups(lines) {\n const groups = [];\n let group = newGroup();\n lines.forEach((fullLine) => {\n const firstChar = fullLine.charAt(0);\n const line = fullLine.slice(1);\n if (firstChar === \" \") {\n if (hasDeltas(group)) {\n // This must be the start of a new group!\n groups.push(group);\n group = newGroup();\n }\n group.common.push(line);\n }\n else if (firstChar === \"-\") {\n group.removed.push(line);\n }\n else if (firstChar === \"+\") {\n group.added.push(line);\n }\n });\n groups.push(group);\n return groups;\n}\nfunction hasDeltas(group) {\n return group.removed.length !== 0 || group.added.length !== 0;\n}\nfunction newGroup() {\n return {\n common: [],\n removed: [],\n added: [],\n };\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport \"./SplitDiffHunk.scss\";\nimport { DiffType } from \"@withgraphite/gti-shared\";\nimport { Box } from \"../../lib/primer/Box\";\nimport { FileHeader } from \"./SplitDiffFileHeader\";\nimport { SplitDiffTable } from \"./SplitDiffHunk\";\nexport function SplitDiffView({ ctx, path, patch, }) {\n var _a, _b, _c, _d;\n const fileName = (_b = (_a = patch.newFileName) !== null && _a !== void 0 ? _a : patch.oldFileName) !== null && _b !== void 0 ? _b : \"/dev/null\";\n // Type hack to get a templatized version of a React.memo-ized component\n const TypedSplitDiffTable = SplitDiffTable;\n const preamble = [];\n if (patch.type === DiffType.Added) {\n preamble.push(_jsx(FileStatusBanner, { children: \"This file was added\" }, \"added\"));\n }\n if (patch.type === DiffType.Removed) {\n preamble.push(_jsx(FileStatusBanner, { children: \"This file was removed\" }, \"deleted\"));\n }\n if (patch.type === DiffType.Renamed) {\n preamble.push(_jsxs(FileStatusBanner, { children: [\"This file was renamed from\", \" \", (_c = patch.oldFileName) !== null && _c !== void 0 ? _c : \"\"] }, \"renamed\"));\n }\n if (patch.type === DiffType.Copied) {\n preamble.push(_jsxs(FileStatusBanner, { children: [\"This file was copied from\", \" \", (_d = patch.oldFileName) !== null && _d !== void 0 ? _d : \"\"] }, \"copied\"));\n }\n return (_jsxs(Box, Object.assign({ className: \"split-diff-view\", borderWidth: \"1px\", borderStyle: \"solid\", borderColor: \"border.default\", borderRadius: 2 }, { children: [_jsx(FileHeader, { ctx: ctx, path: fileName, diffType: patch.type }), _jsx(TypedSplitDiffTable, { ctx: ctx, path: path, patch: patch, preamble: preamble })] })));\n}\nfunction FileStatusBanner({ children, }) {\n return (_jsx(Box, Object.assign({ as: \"tr\", bg: \"attention.subtle\", color: \"fg.muted\", height: 12 }, { children: _jsx(Box, Object.assign({ as: \"td\", colSpan: 4, className: \"separator\" }, { children: _jsx(Box, Object.assign({ padding: 1 }, { children: children })) })) })));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { observer } from \"mobx-react-lite\";\nimport React from \"react\";\nimport { useTheme } from \"../../lib/primer/ThemeProvider\";\n/**\n * React component that dynamically generates a <style> element using values\n * from the active Primer theme.\n */\n// eslint-disable-next-line prefer-arrow-callback\nexport const PrimerStyles = React.memo(observer(function PrimerStyles() {\n const { theme } = useTheme();\n return (_jsx(\"style\", { children: `\n.patch-word-begin {\n border-top-left-radius: .2em;\n border-bottom-left-radius: .2em;\n}\n\n.patch-word-end {\n border-top-right-radius: .2em;\n border-bottom-right-radius: .2em;\n}\n\n.patch-add-line {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.addition.lineBg};\n}\n\n.patch-add-line-number {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.addition.numText};\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.addition.numBg};\n}\n\n.patch-add-word {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.addition.wordBg};\n}\n\n.patch-remove-line {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.deletion.lineBg};\n}\n\n.patch-remove-line-number {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.deletion.numText};\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.deletion.numBg};\n}\n\n.patch-remove-word {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.diffBlob.deletion.wordBg};\n}\n\n.patch-expanded, .patch-expanded-number {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.canvas.subtle};\n}\n\n.patch-expanded-number {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.fg.subtle};\n}\n\n.SplitDiffView-hunk-table td {\n font-family: ${theme === null || theme === void 0 ? void 0 : theme.fonts.mono}\n}\n\n.lineNumber.clickable {\n cursor: pointer;\n}\n\n.lineNumber.clickable:hover {\n text-decoration: underline;\n}\n/**\n * pl = prettylights theme\n *\n * Mapping from CSS class name to Primer color deduced from a combination of:\n * https://cdn.jsdelivr.net/npm/github-syntax-theme-generator@0.5.0/build/css/github-light.css\n * https://primer.style/react/theme-reference\n *\n * Though it is a bit confusing because github-light.css defines some classes\n * multiple times, such as .pl-s.\n */\n\n.pl-ba {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.brackethighlighterAngle};\n}\n\n.pl-bu {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.brackethighlighterUnmatched};\n}\n\n.pl-c {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.comment};\n}\n\n.pl-c1 {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.constant};\n}\n\n.pl-c2 {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.carriageReturnBg};\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.carriageReturnText};\n}\n\n.pl-c2::before {\n content: \"^M\";\n}\n\n.pl-corl {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.constantOtherReferenceLink};\n text-decoration: underline;\n}\n\n.pl-e, .pl-en {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.entity};\n}\n\n.pl-ent {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.entityTag};\n}\n\n.pl-ii {\n background-color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.invalidIllegalBg};\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.invalidIllegalText};\n}\n\n.pl-k {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.keyword};\n}\n\n.pl-s, .pl-pds {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.string};\n}\n\n.pl-sg {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.sublimelinterGutterMark};\n}\n\n.pl-smi {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.storageModifierImport};\n}\n\n.pl-sr {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.stringRegexp};\n font-weight: bold;\n}\n\n.pl-v {\n color: ${theme === null || theme === void 0 ? void 0 : theme.colors.prettylights.syntax.variable};\n}\n` }));\n}));\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport \"./ComparisonView.scss\";\nimport { VSCodeButton, VSCodeDropdown, VSCodeOption, } from \"@vscode/webview-ui-toolkit/react\";\nimport { ComparisonType, labelForComparison, parsePatch, } from \"@withgraphite/gti-shared\";\nimport stringify from \"fast-json-stable-stringify\";\nimport { computed, runInAction } from \"mobx\";\nimport { observer } from \"mobx-react-lite\";\nimport { fromPromise } from \"mobx-utils\";\nimport { useCallback, useEffect } from \"react\";\nimport { EmptyState } from \"../../lib/design/EmptyState\";\nimport { ErrorNotice } from \"../../lib/design/ErrorNotice\";\nimport { Icon } from \"../../lib/design/Icon\";\nimport { themeState } from \"../../lib/design/theme/theme\";\nimport { family } from \"../../lib/mobx-recoil/family\";\nimport { observableBoxWithInitializers } from \"../../lib/mobx-recoil/observable_box_with_init\";\nimport { platform } from \"../../lib/platform\";\nimport { BaseStyles } from \"../../lib/primer/BaseStyles\";\nimport { ThemeProvider } from \"../../lib/primer/ThemeProvider\";\nimport { clientToServerAPI } from \"../../state/ClientToServerAPI\";\nimport { latestHeadCommit } from \"../../state/serverAPIState\";\nimport { SplitDiffView } from \"../split-diff-view\";\nimport { PrimerStyles } from \"../split-diff-view/PrimerStyles\";\nimport { currentComparisonMode } from \"./atoms\";\n/**\n * Transform Result<T> to Result<U> by applying `fn` on result.value.\n * If the result is an error, just return it unchanged.\n */\nfunction mapResult(result, fn) {\n return result.error == null ? { value: fn(result.value) } : result;\n}\nfunction parsePatchAndFilter(patch) {\n const result = parsePatch(patch);\n return result.filter(\n // empty patches and other weird situations can cause invalid files to get parsed, ignore these entirely\n (diff) => diff.hunks.length > 0 ||\n diff.newFileName != null ||\n diff.oldFileName != null);\n}\nconst currentComparisonData = family({\n genKey: (comparison) => {\n switch (comparison.type) {\n case ComparisonType.Range:\n throw new Error(\"Version comparison not supported\");\n case ComparisonType.Committed:\n return `Committed ${comparison.hash}`;\n case ComparisonType.Commit:\n throw new Error(\"Commit comparison not supported\");\n case ComparisonType.HeadChanges:\n return \"HEAD\";\n case ComparisonType.StackChanges:\n return \"STACK\";\n case ComparisonType.UncommittedChanges:\n return \"UNCOMMITTED\";\n }\n },\n genValue: (comparison) => {\n return observableBoxWithInitializers({\n default: { isLoading: true, data: null },\n setter: (value) => {\n if (value.isLoading) {\n clientToServerAPI.postMessage({\n type: \"requestComparison\",\n comparison,\n });\n }\n },\n effects: [\n ({ setSelf }) => {\n const disposable = clientToServerAPI.onMessageOfType(\"comparison\", (event) => {\n if (comparison.type === event.comparison.type) {\n setSelf({\n isLoading: false,\n data: mapResult(event.data.diff, parsePatchAndFilter),\n });\n }\n });\n return () => disposable.dispose();\n },\n ],\n });\n },\n});\nexport const lineRange = family({\n genKey: (params) => {\n return stringify(params);\n },\n genValue: (params) => {\n return computed(() => {\n // We must ensure this lineRange gets invalidated when the underlying file's context lines\n // have changed.\n // This depends on the comparison:\n // for Committed: the commit hash is included in the Comparison, thus the cached data will always be accurate.\n // for Uncommitted, Head, and Stack:\n // by referencing the latest head commit atom, we ensure this selector reloads when the head commit changes.\n // These comparisons are all against the working copy (not exactly head),\n // but there's no change that could be made that would affect the context lines without\n // also changing the head commit's hash.\n // Note: we use latestHeadCommit WITHOUT previews, so we don't accidentally cache the file content\n // AGAIN on the same data while waiting for some new operation to finish.\n latestHeadCommit.get();\n clientToServerAPI.postMessage(Object.assign({ type: \"requestComparisonContextLines\" }, params));\n const promise = new Promise((res) => {\n const disposable = clientToServerAPI.onMessageOfType(\"comparisonContextLines\", (event) => {\n res(event.lines);\n disposable.dispose();\n });\n });\n return fromPromise(promise);\n });\n },\n});\nfunction useComparisonData(comparison) {\n const currentComparison = currentComparisonData(comparison);\n const compared = currentComparison.get();\n const reloadComparison = useCallback(() => {\n runInAction(() => {\n const data = currentComparison.get();\n // setting comparisonData's isLoading: true triggers a fetch\n currentComparison.set(Object.assign(Object.assign({}, data), { isLoading: true }));\n });\n }, [currentComparison]);\n return [compared, reloadComparison];\n}\nexport const ComparisonView = observer(({ comparison }) => {\n const [compared, reloadComparison] = useComparisonData(comparison);\n // any time the comparison changes, fetch the diff\n useEffect(reloadComparison, [comparison, reloadComparison]);\n const theme = themeState.get();\n return (_jsx(\"div\", Object.assign({ \"data-testid\": \"comparison-view\", className: \"comparison-view\" }, { children: _jsxs(ThemeProvider, Object.assign({ colorMode: theme === \"light\" ? \"day\" : \"night\" }, { children: [_jsx(PrimerStyles, {}), _jsxs(BaseStyles, Object.assign({ className: \"comparison-view-base-styles\" }, { children: [_jsx(ComparisonViewHeader, { comparison: comparison }), _jsx(\"div\", Object.assign({ className: \"comparison-view-details\" }, { children: compared.data == null ? (_jsx(Icon, { icon: \"loading\" })) : compared.data.error != null ? (_jsx(ErrorNotice, { error: compared.data.error, title: \"Unable to load comparison\" })) : compared.data.value.length === 0 ? (_jsx(EmptyState, { children: \"No Changes\" })) : (compared.data.value.map((parsed, i) => (_jsx(ComparisonViewFile, { diff: parsed, comparison: comparison }, i)))) }))] }))] })) })));\n});\nconst defaultComparisons = [\n ComparisonType.UncommittedChanges,\n ComparisonType.HeadChanges,\n ComparisonType.StackChanges,\n];\nconst ComparisonViewHeader = observer(({ comparison }) => {\n const [compared, reloadComparison] = useComparisonData(comparison);\n return (_jsx(_Fragment, { children: _jsxs(\"div\", Object.assign({ className: \"comparison-view-header\" }, { children: [_jsxs(\"span\", Object.assign({ className: \"comparison-view-header-group\" }, { children: [_jsxs(VSCodeDropdown, Object.assign({ \"data-testid\": \"comparison-view-picker\", value: comparison.type, onChange: (event) => {\n const previous = currentComparisonMode.get();\n currentComparisonMode.set(Object.assign(Object.assign({}, previous), { comparison: {\n type: event\n .currentTarget.value,\n } }));\n } }, { children: [defaultComparisons.map((comparison) => (_jsx(VSCodeOption, Object.assign({ value: comparison }, { children: labelForComparison({ type: comparison }) }), comparison))), !defaultComparisons.includes(comparison.type) ? (_jsx(VSCodeOption, Object.assign({ value: comparison.type }, { children: labelForComparison(comparison) }), comparison.type)) : null] })), _jsx(VSCodeButton, Object.assign({ title: \"Reload this comparison. Comparisons do not refresh automatically.\", appearance: \"secondary\", onClick: reloadComparison }, { children: _jsx(Icon, { icon: \"refresh\", \"data-testid\": \"comparison-refresh-button\" }) })), compared.isLoading ? (_jsx(Icon, { icon: \"loading\", \"data-testid\": \"comparison-loading\" })) : null] })), _jsx(VSCodeButton, Object.assign({ \"data-testid\": \"close-comparison-view-button\", appearance: \"icon\", onClick: () => runInAction(() => {\n const previous = currentComparisonMode.get();\n currentComparisonMode.set(Object.assign(Object.assign({}, previous), { visible: false }));\n }) }, { children: _jsx(Icon, { icon: \"x\" }) }))] })) }));\n});\nfunction ComparisonViewFile({ diff, comparison, }) {\n var _a, _b;\n const path = (_b = (_a = diff.newFileName) !== null && _a !== void 0 ? _a : diff.oldFileName) !== null && _b !== void 0 ? _b : \"\";\n const context = {\n id: { path, comparison },\n atoms: { lineRange },\n copy: platform.clipboardCopy,\n // only offer clickable line numbers for comparisons against head, otherwise line numbers will be inaccurate\n openFileToLine: comparisonIsAgainstHead(comparison)\n ? (line) => platform.openFile(path, { line })\n : undefined,\n };\n return (_jsx(\"div\", Object.assign({ className: \"comparison-view-file\" }, { children: _jsx(SplitDiffView, { ctx: context, patch: diff, path: path }) }), path));\n}\nfunction comparisonIsAgainstHead(comparison) {\n switch (comparison.type) {\n case ComparisonType.UncommittedChanges:\n case ComparisonType.HeadChanges:\n case ComparisonType.StackChanges:\n return true;\n case ComparisonType.Committed:\n case ComparisonType.Commit:\n case ComparisonType.Range:\n return false;\n }\n}\n"],"names":["EmptyState","children","_jsx","Object","assign","className","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","fontStack","fonts","map","font","includes","join","isShadowValue","value","test","filterObject","obj","predicate","Array","isArray","filter","entries","reduce","acc","key","isObject","result","isEmpty","partitionColors","colors","startsWith","isColorValue","shadows","omitScale","scale","lineHeights","primitives","theme","animation","easeOutCubic","borderWidths","breakpoints","normal","mono","fontSizes","fontWeights","light","semibold","bold","radii","sizes","small","medium","large","xlarge","space","colorSchemes","name","compose","styledSystem","system","COMMON","whiteSpace","property","TYPOGRAPHY","defaultDayScheme","defaultNightScheme","ThemeContext","React","setColorMode","setDayScheme","setNightScheme","ThemeProvider","_a","_b","_c","_d","_e","_f","_g","_h","_j","props","useTheme","fallbackTheme","fallbackColorMode","colorMode","fallbackDayScheme","dayScheme","fallbackNightScheme","nightScheme","defaultTheme","serverData","document","getElementById","textContent","JSON","parse","error","getServerHandoff","resolvedServerColorMode","resolvedColorModePassthrough","systemColorMode","getSystemColorMode","setSystemColorMode","media","window","matchMedia","handleChange","event","isNight","matches","undefined","addEventListener","removeEventListener","addListener","removeListener","useSystemColorMode","resolvedColorMode","current","resolveColorMode","colorScheme","chooseColorScheme","resolvedTheme","resolvedColorScheme","console","defaultColorScheme","keys","deepmerge","applyColorScheme","resolvedColorModeOnClient","setTimeout","ReactDOM","Provider","_jsxs","SCThemeProvider","preventSSRMismatch","type","id","dangerouslySetInnerHTML","__html","stringify","GlobalStyle","createGlobalStyle","Base","styled","BaseStyles","color","fontFamily","lineHeight","rest","sx","css","Box","typography","layout","flexbox","grid","background","border","position","shadow","Text","FileHeader","ctx","path","diffType","open","onChangeOpen","diffTypeToColor","pathParts","split","display","alignItems","bg","paddingX","paddingY","backgroundColor","borderTopRightRadius","borderTopLeftRadius","borderBottomColor","borderBottomStyle","borderBottomWidth","paddingRight","onClick","cursor","ChevronUpIcon","size","ChevronDownIcon","Icon","icon","diffTypeToIcon","fontSize","part","idx","pathSoFar","slice","copy","title","Modified","Added","Removed","Renamed","Copied","sizeMap","Spinner","sizeKey","height","width","viewBox","fill","cx","cy","r","stroke","strokeOpacity","strokeWidth","vectorEffect","d","strokeLinecap","SplitDiffRow","beforeClass","afterClass","beforeLineNumber","before","afterLineNumber","after","rowType","openFileToLine","canComment","SplitDiffRowSide","content","lineNumber","side","lineNumberBorderStyle","extraRightLineNumberCellProps","clickableLineNumber","extraClassName","_Fragment","as","displayName","borderLeftWidth","borderLeftStyle","borderLeftColor","MAX_INPUT_LENGTH_FOR_INTRALINE_DIFF","SplitDiffTable","patch","preamble","useState","deletedFileExpanded","setDeletedFileExpanded","Set","expandedSeparators","setExpandedSeparators","onExpand","useCallback","amendedSet","add","translate","isDeleted","newFileName","hunks","lastHunkIndex","rows","forEach","hunk","index","oldStart","newStart","has","range","start","numLines","push","ExpandingSeparator","beforeLineStart","afterLineStart","Math","max","HunkSeparator","lines","groups","group","common","removed","added","fullLine","firstChar","charAt","line","hasDeltas","organizeLinesIntoGroups","addUnmodifiedRows","maxIndex","removedLine","addedLine","beforeAndAfter","createIntralineDiff","addRowsForHunk","nextHunk","oldLines","newLines","SeparatorRow","padding","UnfoldIcon","initialBeforeLineNumber","initialAfterLineNumber","lineContent","changes","diffChars","beforeElements","afterElements","change","label","observer","loadable","atoms","lineRange","get","state","flexDirection","justifyContent","marginLeft","message","colSpan","SplitDiffView","fileName","oldFileName","TypedSplitDiffTable","DiffType","FileStatusBanner","borderWidth","borderStyle","borderColor","borderRadius","PrimerStyles","diffBlob","addition","lineBg","numText","numBg","wordBg","deletion","canvas","subtle","fg","prettylights","syntax","brackethighlighterAngle","brackethighlighterUnmatched","comment","constant","carriageReturnBg","carriageReturnText","constantOtherReferenceLink","entity","entityTag","invalidIllegalBg","invalidIllegalText","keyword","string","sublimelinterGutterMark","storageModifierImport","stringRegexp","variable","parsePatchAndFilter","parsePatch","diff","currentComparisonData","family","genKey","comparison","ComparisonType","Error","hash","genValue","observableBoxWithInitializers","default","isLoading","data","setter","clientToServerAPI","effects","setSelf","disposable","fn","dispose","params","computed","latestHeadCommit","promise","Promise","res","fromPromise","useComparisonData","currentComparison","runInAction","set","ComparisonView","compared","reloadComparison","useEffect","themeState","ComparisonViewHeader","ErrorNotice","parsed","ComparisonViewFile","defaultComparisons","VSCodeDropdown","onChange","previous","currentComparisonMode","currentTarget","VSCodeOption","labelForComparison","VSCodeButton","appearance","visible","context","platform","comparisonIsAgainstHead"],"sourceRoot":""}
|