@withgraphite/graphite-cli 1.0.14 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.CHANGELOG.md +24 -1
- package/60.js +1 -1
- package/60.js.map +1 -1
- package/658.js +3 -0
- package/build/asset-manifest.json +9 -9
- package/build/index.html +1 -1
- package/build/static/css/274.74a3708d.chunk.css +2 -0
- package/build/static/css/274.74a3708d.chunk.css.map +1 -0
- package/build/static/css/main.74ae1b2a.css +2 -0
- package/build/static/css/main.74ae1b2a.css.map +1 -0
- package/build/static/js/274.847ee195.chunk.js +1 -0
- package/build/static/js/274.847ee195.chunk.js.map +1 -0
- package/build/static/js/697.e9243bfd.chunk.js +2 -0
- package/build/static/js/697.e9243bfd.chunk.js.map +1 -0
- package/build/static/js/main.js +1 -1
- package/build/static/js/main.js.map +1 -1
- package/child.js +1 -1
- package/child.js.map +1 -1
- package/graphite.js +1 -1
- package/package.json +1 -1
- package/335.js +0 -3
- package/build/static/css/521.c3a7ac34.chunk.css +0 -2
- package/build/static/css/521.c3a7ac34.chunk.css.map +0 -1
- package/build/static/css/main.b94db121.css +0 -2
- package/build/static/css/main.b94db121.css.map +0 -1
- package/build/static/js/521.6f9fb1c5.chunk.js +0 -1
- package/build/static/js/521.6f9fb1c5.chunk.js.map +0 -1
- package/build/static/js/697.d1225ee9.chunk.js +0 -2
- package/build/static/js/697.d1225ee9.chunk.js.map +0 -1
- /package/{335.js.LICENSE.txt → 658.js.LICENSE.txt} +0 -0
- /package/build/static/js/{697.d1225ee9.chunk.js.LICENSE.txt → 697.e9243bfd.chunk.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/274.847ee195.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 { comparisonIsAgainstHead, 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 if (comparison.type === ComparisonType.Committed) {\n return `Committed ${comparison.hash}`;\n }\n switch (comparison.type) {\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}\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","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":""}
|