copilot.ts

 1import { ColorScheme } from "../themes/common/colorScheme"
 2import { background, border, foreground, svg, text } from "./components";
 3
 4
 5export default function copilot(colorScheme: ColorScheme) {
 6    let layer = colorScheme.highest;
 7
 8    return {
 9        auth: {
10            popupContainer: {
11                background: background(colorScheme.highest),
12            },
13            popupDimensions: {
14                width: 336,
15                height: 256,
16            },
17            instructionText: text(layer, "sans"),
18            userCode:
19                text(layer, "sans", { size: "lg" }),
20            button: { // Copied from welcome screen. FIXME: Move this into a ZDS component
21                background: background(layer),
22                border: border(layer, "active"),
23                cornerRadius: 4,
24                margin: {
25                    top: 4,
26                    bottom: 4,
27                },
28                padding: {
29                    top: 3,
30                    bottom: 3,
31                    left: 7,
32                    right: 7,
33                },
34                ...text(layer, "sans", "default", { size: "sm" }),
35                hover: {
36                    ...text(layer, "sans", "default", { size: "sm" }),
37                    background: background(layer, "hovered"),
38                    border: border(layer, "active"),
39                },
40            },
41            buttonWidth: 320,
42            copilotIcon: svg(foreground(layer, "default"), "icons/github-copilot-dummy.svg", 64, 64),
43            closeIcon: {
44                icon: svg(background(layer, "on"), "icons/x_mark_16.svg", 16, 16),
45                container: {
46                    padding: {
47                        top: 3,
48                        bottom: 3,
49                        left: 7,
50                        right: 7,
51                    }
52                },
53                hover: {
54                    icon: svg(foreground(layer, "on"), "icons/x_mark_16.svg", 16, 16),
55                }
56            },
57        }
58    }
59}