theme

package
v1.7.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const KeyNew = "new"

Variables

View Source
var CatalogThemes = Themes{
	&Theme{
		Key:  "Aquamarine",
		Base: "#95e0e8",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#2f494c",
			Background: "#ffffff", BackgroundMuted: "#eaf4f5",
			LinkForeground: "#0d2a2d", LinkVisitedForeground: "#0d2a2d",
			NavForeground: "#2a2a2a", NavBackground: "#94c7cc",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d5e8eb", MenuSelectedBackground: "#aad2d6",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#95abae",
			Background: "#121212", BackgroundMuted: "#0e2124",
			LinkForeground: "#d5e8eb", LinkVisitedForeground: "#94c7cc",
			NavForeground: "#f8f9fa", NavBackground: "#0b3338",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0d2a2d", MenuSelectedBackground: "#52767c",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Blue-Violet",
		Base: "#9380e7",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#332c50",
			Background: "#ffffff", BackgroundMuted: "#ece7f7",
			LinkForeground: "#191543", LinkVisitedForeground: "#191543",
			NavForeground: "#2a2a2a", NavBackground: "#9d8dd6",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d8d0ef", MenuSelectedBackground: "#b1a3df",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#a297c3",
			Background: "#121212", BackgroundMuted: "#161233",
			LinkForeground: "#d8d0ef", LinkVisitedForeground: "#9d8dd6",
			NavForeground: "#f8f9fa", NavBackground: "#1b1853",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#191543", MenuSelectedBackground: "#65579c",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Blush",
		Base: "#db5079",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#4e1d2a",
			Background: "#ffffff", BackgroundMuted: "#f9e3e6",
			LinkForeground: "#3f0d17", LinkVisitedForeground: "#3f0d17",
			NavForeground: "#2a2a2a", NavBackground: "#d47189",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#f1c6ce", MenuSelectedBackground: "#df8e9f",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#c59598",
			Background: "#121212", BackgroundMuted: "#310d12",
			LinkForeground: "#f1c6ce", LinkVisitedForeground: "#d47189",
			NavForeground: "#f8f9fa", NavBackground: "#4d0b1a",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#3f0d17", MenuSelectedBackground: "#9a5159",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Cerulean Blue",
		Base: "#339acc",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#183547",
			Background: "#ffffff", BackgroundMuted: "#e2ebf3",
			LinkForeground: "#0e2036", LinkVisitedForeground: "#0e2036",
			NavForeground: "#2a2a2a", NavBackground: "#6a9fc3",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#c5d7e7", MenuSelectedBackground: "#8ab1cf",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#97a1b7",
			Background: "#121212", BackgroundMuted: "#0f1a2a",
			LinkForeground: "#c5d7e7", LinkVisitedForeground: "#6a9fc3",
			NavForeground: "#f8f9fa", NavBackground: "#0d2643",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0e2036", MenuSelectedBackground: "#546889",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Cornflower",
		Base: "#93ccea",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#2f434d",
			Background: "#ffffff", BackgroundMuted: "#eaf1f6",
			LinkForeground: "#0e2633", LinkVisitedForeground: "#0e2633",
			NavForeground: "#2a2a2a", NavBackground: "#95bbd0",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d5e3ec", MenuSelectedBackground: "#aac8d9",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#96a7b4",
			Background: "#121212", BackgroundMuted: "#0e1e28",
			LinkForeground: "#d5e3ec", LinkVisitedForeground: "#95bbd0",
			NavForeground: "#f8f9fa", NavBackground: "#0c2e3f",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0e2633", MenuSelectedBackground: "#537184",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Granny Smith Apple",
		Base: "#9de093",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#32492e",
			Background: "#ffffff", BackgroundMuted: "#ebf4e9",
			LinkForeground: "#0e2a07", LinkVisitedForeground: "#0e2a07",
			NavForeground: "#2a2a2a", NavBackground: "#9ac892",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d7e9d2", MenuSelectedBackground: "#aed3a7",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#94ac8d",
			Background: "#121212", BackgroundMuted: "#0e2206",
			LinkForeground: "#d7e9d2", LinkVisitedForeground: "#9ac892",
			NavForeground: "#f8f9fa", NavBackground: "#0b3406",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0e2a07", MenuSelectedBackground: "#507847",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Indigo",
		Base: "#8698fc",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#2e3357",
			Background: "#ffffff", BackgroundMuted: "#eaeafa",
			LinkForeground: "#131b47", LinkVisitedForeground: "#131b47",
			NavForeground: "#2a2a2a", NavBackground: "#939be3",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d5d6f4", MenuSelectedBackground: "#aaaee9",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#9f9dc7",
			Background: "#121212", BackgroundMuted: "#131736",
			LinkForeground: "#d5d6f4", LinkVisitedForeground: "#939be3",
			NavForeground: "#f8f9fa", NavBackground: "#122158",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#131b47", MenuSelectedBackground: "#5f61a2",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Maximum Purple",
		Base: "#9654a3",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#361f3b",
			Background: "#ffffff", BackgroundMuted: "#ede2ee",
			LinkForeground: "#290a30", LinkVisitedForeground: "#290a30",
			NavForeground: "#2a2a2a", NavBackground: "#a373ab",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#dac5dd", MenuSelectedBackground: "#b58ebb",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#ad8fb1",
			Background: "#121212", BackgroundMuted: "#210a25",
			LinkForeground: "#dac5dd", LinkVisitedForeground: "#a373ab",
			NavForeground: "#f8f9fa", NavBackground: "#31083a",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#290a30", MenuSelectedBackground: "#774a7f",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Medium Chrome Green",
		Base: "#6ca67c",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#24392a",
			Background: "#ffffff", BackgroundMuted: "#e5ede6",
			LinkForeground: "#0a2210", LinkVisitedForeground: "#0a2210",
			NavForeground: "#2a2a2a", NavBackground: "#7ea788",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#cadbce", MenuSelectedBackground: "#97b89f",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#8fa492",
			Background: "#121212", BackgroundMuted: "#091c0c",
			LinkForeground: "#cadbce", LinkVisitedForeground: "#7ea788",
			NavForeground: "#f8f9fa", NavBackground: "#082912",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0a2210", MenuSelectedBackground: "#496c50",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Melon",
		Base: "#febaad",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#543c38",
			Background: "#ffffff", BackgroundMuted: "#f9eeec",
			LinkForeground: "#381c17", LinkVisitedForeground: "#381c17",
			NavForeground: "#2a2a2a", NavBackground: "#deaea4",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#f3deda", MenuSelectedBackground: "#e6beb6",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#bb9e99",
			Background: "#121212", BackgroundMuted: "#2c1713",
			LinkForeground: "#f3deda", LinkVisitedForeground: "#deaea4",
			NavForeground: "#f8f9fa", NavBackground: "#44211b",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#381c17", MenuSelectedBackground: "#8e625a",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Middle Yellow Red",
		Base: "#ecac76",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#4f3825",
			Background: "#ffffff", BackgroundMuted: "#f8ede5",
			LinkForeground: "#351b02", LinkVisitedForeground: "#351b02",
			NavForeground: "#2a2a2a", NavBackground: "#d5a680",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#f0dbcb", MenuSelectedBackground: "#dfb798",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#ba9d8a",
			Background: "#121212", BackgroundMuted: "#2a1602",
			LinkForeground: "#f0dbcb", LinkVisitedForeground: "#d5a680",
			NavForeground: "#f8f9fa", NavBackground: "#402002",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#351b02", MenuSelectedBackground: "#8a6144",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Navy Blue",
		Base: "#5b92ff",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#213259",
			Background: "#ffffff", BackgroundMuted: "#e7e9fa",
			LinkForeground: "#151c4c", LinkVisitedForeground: "#151c4c",
			NavForeground: "#2a2a2a", NavBackground: "#7d98e6",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#ced4f6", MenuSelectedBackground: "#9aacec",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#a19ecb",
			Background: "#121212", BackgroundMuted: "#14173a",
			LinkForeground: "#ced4f6", LinkVisitedForeground: "#7d98e6",
			NavForeground: "#f8f9fa", NavBackground: "#13225f",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#151c4c", MenuSelectedBackground: "#6262a9",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Periwinkle",
		Base: "#c3cde6",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#3f434b",
			Background: "#ffffff", BackgroundMuted: "#f0f1f5",
			LinkForeground: "#1f242f", LinkVisitedForeground: "#1f242f",
			NavForeground: "#2a2a2a", NavBackground: "#b4bacc",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#e0e3ea", MenuSelectedBackground: "#c2c8d6",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#a1a5af",
			Background: "#121212", BackgroundMuted: "#191d24",
			LinkForeground: "#e0e3ea", LinkVisitedForeground: "#b4bacc",
			NavForeground: "#f8f9fa", NavBackground: "#252b39",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#1f242f", MenuSelectedBackground: "#676e7d",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Piggy Pink",
		Base: "#fdd7e4",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#524549",
			Background: "#ffffff", BackgroundMuted: "#f8f2f4",
			LinkForeground: "#322228", LinkVisitedForeground: "#322228",
			NavForeground: "#2a2a2a", NavBackground: "#d9bfc8",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#f0e5e9", MenuSelectedBackground: "#e1cbd3",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#b3a4a9",
			Background: "#121212", BackgroundMuted: "#271b1f",
			LinkForeground: "#f0e5e9", LinkVisitedForeground: "#d9bfc8",
			NavForeground: "#f8f9fa", NavBackground: "#3d2930",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#322228", MenuSelectedBackground: "#836b73",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Plum",
		Base: "#b7589f",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#412038",
			Background: "#ffffff", BackgroundMuted: "#f2e3ed",
			LinkForeground: "#330b29", LinkVisitedForeground: "#330b29",
			NavForeground: "#2a2a2a", NavBackground: "#b975a6",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#e4c7db", MenuSelectedBackground: "#c890b7",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#b792ab",
			Background: "#121212", BackgroundMuted: "#280c21",
			LinkForeground: "#e4c7db", LinkVisitedForeground: "#b975a6",
			NavForeground: "#f8f9fa", NavBackground: "#3e0932",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#330b29", MenuSelectedBackground: "#864e76",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Robin's Egg Blue",
		Base: "#00cccc",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#194444",
			Background: "#ffffff", BackgroundMuted: "#e3f2f1",
			LinkForeground: "#0d282a", LinkVisitedForeground: "#0d282a",
			NavForeground: "#2a2a2a", NavBackground: "#6ebdbd",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#c7e5e4", MenuSelectedBackground: "#8dcaca",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#94aaab",
			Background: "#121212", BackgroundMuted: "#0d2021",
			LinkForeground: "#c7e5e4", LinkVisitedForeground: "#6ebdbd",
			NavForeground: "#f8f9fa", NavBackground: "#0b3133",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0d282a", MenuSelectedBackground: "#507577",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Royal Purple",
		Base: "#9263c8",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#342347",
			Background: "#ffffff", BackgroundMuted: "#ece4f3",
			LinkForeground: "#220e3c", LinkVisitedForeground: "#220e3c",
			NavForeground: "#2a2a2a", NavBackground: "#9f7bc4",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d9c9e8", MenuSelectedBackground: "#b395d0",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#a892bd",
			Background: "#121212", BackgroundMuted: "#1c0c2f",
			LinkForeground: "#d9c9e8", LinkVisitedForeground: "#9f7bc4",
			NavForeground: "#f8f9fa", NavBackground: "#280e4b",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#220e3c", MenuSelectedBackground: "#6f4e93",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Salmon",
		Base: "#ff91a4",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#573036",
			Background: "#ffffff", BackgroundMuted: "#fbeaec",
			LinkForeground: "#3f0e1b", LinkVisitedForeground: "#3f0e1b",
			NavForeground: "#2a2a2a", NavBackground: "#e495a1",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#f6d5d9", MenuSelectedBackground: "#ebaab3",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#c5969c",
			Background: "#121212", BackgroundMuted: "#310e16",
			LinkForeground: "#f6d5d9", LinkVisitedForeground: "#e495a1",
			NavForeground: "#f8f9fa", NavBackground: "#4e0d20",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#3f0e1b", MenuSelectedBackground: "#9a535f",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Sky Blue",
		Base: "#76d7ea",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#25464d",
			Background: "#ffffff", BackgroundMuted: "#e7f3f5",
			LinkForeground: "#0e2931", LinkVisitedForeground: "#0e2931",
			NavForeground: "#2a2a2a", NavBackground: "#83c2cf",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#cfe7ec", MenuSelectedBackground: "#9dced9",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#96aab2",
			Background: "#121212", BackgroundMuted: "#0e2027",
			LinkForeground: "#cfe7ec", LinkVisitedForeground: "#83c2cf",
			NavForeground: "#f8f9fa", NavBackground: "#0c323d",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0e2931", MenuSelectedBackground: "#537582",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Teal Blue",
		Base: "#50b3b3",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#1b3c3c",
			Background: "#ffffff", BackgroundMuted: "#e2efee",
			LinkForeground: "#0b2425", LinkVisitedForeground: "#0b2425",
			NavForeground: "#2a2a2a", NavBackground: "#6eaeae",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#c6dede", MenuSelectedBackground: "#8cbebe",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#91a6a6",
			Background: "#121212", BackgroundMuted: "#0c1d1e",
			LinkForeground: "#c6dede", LinkVisitedForeground: "#6eaeae",
			NavForeground: "#f8f9fa", NavBackground: "#092c2d",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0b2425", MenuSelectedBackground: "#4d6e6f",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Tropical Rain Forest",
		Base: "#44a38a",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#569381",
			Background: "#ffffff", BackgroundMuted: "#edf9f5",
			LinkForeground: "#2c5a4d", LinkVisitedForeground: "#2c5a4d",
			NavForeground: "#f8f9fa", NavBackground: "#a2e2ce",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#dbf4eb", MenuSelectedBackground: "#b5e8d8",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#b2d8cb",
			Background: "#121212", BackgroundMuted: "#23443a",
			LinkForeground: "#dbf4eb", LinkVisitedForeground: "#a2e2ce",
			NavForeground: "#f8f9fa", NavBackground: "#347261",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#2c5a4d", MenuSelectedBackground: "#7ebdaa",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Wild Blue Yonder",
		Base: "#7a89b8",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#2a2f40",
			Background: "#ffffff", BackgroundMuted: "#e7e9f0",
			LinkForeground: "#121b2f", LinkVisitedForeground: "#121b2f",
			NavForeground: "#2a2a2a", NavBackground: "#8a93b5",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#d0d3e1", MenuSelectedBackground: "#a1a8c4",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#979cb1",
			Background: "#121212", BackgroundMuted: "#101625",
			LinkForeground: "#d0d3e1", LinkVisitedForeground: "#8a93b5",
			NavForeground: "#f8f9fa", NavBackground: "#13203a",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#121b2f", MenuSelectedBackground: "#56607f",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Wisteria",
		Base: "#c9a0dc",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#43354a",
			Background: "#ffffff", BackgroundMuted: "#f2ebf4",
			LinkForeground: "#2b1934", LinkVisitedForeground: "#2b1934",
			NavForeground: "#2a2a2a", NavBackground: "#bc9fc9",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#e4d8e9", MenuSelectedBackground: "#cab2d4",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#ad9bb4",
			Background: "#121212", BackgroundMuted: "#221528",
			LinkForeground: "#e4d8e9", LinkVisitedForeground: "#bc9fc9",
			NavForeground: "#f8f9fa", NavBackground: "#341d3f",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#2b1934", MenuSelectedBackground: "#795e85",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
	&Theme{
		Key:  "Yellow-Orange",
		Base: "#ffae42",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#563913",
			Background: "#ffffff", BackgroundMuted: "#fdedde",
			LinkForeground: "#3a1b02", LinkVisitedForeground: "#3a1b02",
			NavForeground: "#2a2a2a", NavBackground: "#e4a75e",
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#f9dbbd", MenuSelectedBackground: "#ecb87d",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#bf9d8a",
			Background: "#121212", BackgroundMuted: "#2e1602",
			LinkForeground: "#f9dbbd", LinkVisitedForeground: "#e4a75e",
			NavForeground: "#f8f9fa", NavBackground: "#461f02",
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#3a1b02", MenuSelectedBackground: "#916044",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	},
}
View Source
var Default = func() *Theme {
	nbl := "#83a2b9"
	if o := util.GetEnv("app_nav_color_light"); o != "" {
		nbl = o
	}
	nbd := "#0a2638"
	if o := util.GetEnv("app_nav_color_dark"); o != "" {
		nbd = o
	}

	return &Theme{
		Key: "default",
		Light: &Colors{
			Border: "1px solid #cccccc", LinkDecoration: "none",
			Foreground: "#000000", ForegroundMuted: "#263642",
			Background: "#ffffff", BackgroundMuted: "#e6ecf1",
			LinkForeground: "#0c202e", LinkVisitedForeground: "#0c202e",
			NavForeground: "#2a2a2a", NavBackground: nbl,
			MenuForeground: "#000000", MenuSelectedForeground: "#000000",
			MenuBackground: "#cdd9e3", MenuSelectedBackground: "#9cb4c7",
			ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000",
		},
		Dark: &Colors{
			Border: "1px solid #444444", LinkDecoration: "none",
			Foreground: "#dddddd", ForegroundMuted: "#93a1af",
			Background: "#121212", BackgroundMuted: "#0d1a24",
			LinkForeground: "#cdd9e3", LinkVisitedForeground: "#83a2b9",
			NavForeground: "#f8f9fa", NavBackground: nbd,
			MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd",
			MenuBackground: "#0c202e", MenuSelectedBackground: "#50677d",
			ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000",
		},
	}
}()

Functions

func ParseHexColor added in v1.2.18

func ParseHexColor(s string) (color.RGBA, error)

func TextColorFor added in v1.2.18

func TextColorFor(clr string) string

Types

type Colors

type Colors struct {
	Border         string `json:"brd"`
	LinkDecoration string `json:"ld"`

	Foreground      string `json:"fg"`
	ForegroundMuted string `json:"fgm"`
	Background      string `json:"bg"`
	BackgroundMuted string `json:"bgm"`

	LinkForeground        string `json:"lf"`
	LinkVisitedForeground string `json:"lvf"`

	NavForeground string `json:"nf"`
	NavBackground string `json:"nb"`

	MenuForeground         string `json:"mf"`
	MenuSelectedForeground string `json:"msf"`
	MenuBackground         string `json:"mb"`
	MenuSelectedBackground string `json:"msb"`

	ModalBackdrop string `json:"mbd"`
	Success       string `json:"ok"`
	Error         string `json:"err"`
}

func (*Colors) ApplyMap

func (c *Colors) ApplyMap(m util.ValueMap, prefix string) *Colors

func (*Colors) CSS

func (c *Colors) CSS(key string, indent int) string

func (*Colors) Clone

func (c *Colors) Clone() *Colors

func (*Colors) Equals

func (c *Colors) Equals(x *Colors) bool

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(files filesystem.FileLoader) *Service

func (*Service) All

func (s *Service) All(logger util.Logger) Themes

func (*Service) Clear

func (s *Service) Clear()

func (*Service) FileExists added in v0.10.14

func (s *Service) FileExists(key string) bool

func (*Service) Get

func (s *Service) Get(theme string, logger util.Logger) *Theme

func (*Service) Remove added in v0.10.14

func (s *Service) Remove(key string, logger util.Logger) error

func (*Service) Save

func (s *Service) Save(t *Theme, originalKey string, logger util.Logger) error

type Theme

type Theme struct {
	Key   string  `json:"-"`
	Base  string  `json:"base"`
	Light *Colors `json:"light"`
	Dark  *Colors `json:"dark"`
	// contains filtered or unexported fields
}

func ApplyMap

func ApplyMap(frm util.ValueMap) *Theme

func ColorTheme

func ColorTheme(name string, c color.Color) *Theme

func PaletteTheme

func PaletteTheme(pal string, key string) (*Theme, error)

func (*Theme) CSS

func (t *Theme) CSS(indent int) string

func (*Theme) Clone

func (t *Theme) Clone(key string) *Theme

func (*Theme) Equals

func (t *Theme) Equals(x *Theme) bool

func (*Theme) Matches added in v1.2.16

func (t *Theme) Matches(x *Theme) bool

func (*Theme) ToGo added in v0.10.14

func (t *Theme) ToGo() string

type Themes

type Themes []*Theme

func PaletteRandomThemes

func PaletteRandomThemes(pal string, num int) (Themes, error)

func PaletteThemes

func PaletteThemes(pal string) (Themes, error)

func (Themes) Contains added in v0.10.14

func (t Themes) Contains(key string) bool

func (Themes) Get added in v0.10.14

func (t Themes) Get(key string) *Theme

func (Themes) Remove added in v0.10.14

func (t Themes) Remove(key string) Themes

func (Themes) Replace

func (t Themes) Replace(n *Theme) Themes

func (Themes) Sort

func (t Themes) Sort() Themes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL