@ekkolyth/ui 0.1.17 → 0.1.19
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/LICENSE +21 -0
- package/README.md +77 -132
- package/dist/base.css +263 -0
- package/dist/blocks.d.ts +4 -0
- package/dist/blocks.js +4 -0
- package/dist/container-BBg21poC.js +10 -0
- package/dist/convex.d.ts +2 -0
- package/dist/convex.js +2 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.js +2 -0
- package/dist/icon-picker-ByfHyJ7i.js +4078 -0
- package/dist/index-Bwp0YMmG.d.ts +5 -0
- package/dist/index-BxcqwZNT.d.ts +30 -0
- package/dist/index-DHF8OR1R.d.ts +60 -0
- package/dist/index-DsLGf2HX.d.ts +9 -0
- package/dist/index-qji4ohJZ.d.ts +24 -0
- package/dist/index.d.ts +793 -533
- package/dist/index.js +3236 -5578
- package/dist/layout.d.ts +2 -0
- package/dist/layout.js +2 -0
- package/dist/loading-screen-DB3youyT.js +63 -0
- package/dist/shiki-code-Bg__Vnt1.js +29 -0
- package/dist/text.d.ts +17 -0
- package/dist/text.js +177 -0
- package/dist/themes/catpuccin/frappe.css +33 -33
- package/dist/themes/catpuccin/latte.css +33 -33
- package/dist/themes/catpuccin/macchiato.css +33 -33
- package/dist/themes/catpuccin/mocha.css +33 -33
- package/dist/themes/ekko-os.css +92 -37
- package/dist/themes/ekkolyth.css +2 -2
- package/dist/themes/index.css +7 -66
- package/dist/themes/provider.d.ts +62 -0
- package/dist/themes/provider.js +271 -0
- package/dist/themes/tokyo-night.css +33 -33
- package/dist/themes.css +7 -66
- package/dist/toggle-B2PFPImC.js +182 -0
- package/dist/use-mobile-BVGje-2e.d.ts +4 -0
- package/dist/use-mobile-CqHXB_Nc.js +18 -0
- package/dist/utils-C_uf36nf.js +8 -0
- package/dist/widget-C2vjxQms.js +94 -0
- package/dist/widget.d.ts +6 -0
- package/dist/widget.js +19 -0
- package/package.json +125 -170
- package/dist/catpuccin/frappe.css +0 -35
- package/dist/catpuccin/latte.css +0 -35
- package/dist/catpuccin/macchiato.css +0 -35
- package/dist/catpuccin/mocha.css +0 -35
- package/dist/ekko-os.css +0 -71
- package/dist/ekko-playlist.css +0 -71
- package/dist/ekkolyth.css +0 -70
- package/dist/index-C3ceanPz.d.ts +0 -18
- package/dist/index-C7t_lwpi.d.ts +0 -13
- package/dist/next.d.ts +0 -13
- package/dist/next.js +0 -271
- package/dist/providers/next.d.ts +0 -25
- package/dist/providers/next.js +0 -216
- package/dist/providers/tanstack.d.ts +0 -24
- package/dist/providers/tanstack.js +0 -120
- package/dist/tanstack.d.ts +0 -12
- package/dist/tanstack.js +0 -203
- package/dist/themes/ekko-playlist.css +0 -71
- package/dist/themes/theme-select.d.ts +0 -12
- package/dist/themes/theme-select.js +0 -357
- package/dist/themes/theme-toggle.d.ts +0 -15
- package/dist/themes/theme-toggle.js +0 -179
- package/dist/tokyo-night.css +0 -35
- package/dist/types-fUfvw1Mz.d.ts +0 -8
package/dist/layout.d.ts
ADDED
package/dist/layout.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Loader2 } from "lucide-react";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
//#region src/components/blocks/loading-screen/messages.json
|
|
5
|
+
var messages_default = [
|
|
6
|
+
"Charging ultimate abilities...",
|
|
7
|
+
"Respawning loot crates...",
|
|
8
|
+
"Planting parsnips before the frost...",
|
|
9
|
+
"Calibrating matchmaking karma...",
|
|
10
|
+
"Untangling the grappling hook...",
|
|
11
|
+
"Sniffing out anomalies...",
|
|
12
|
+
"Respawning in 3... 2... 1...",
|
|
13
|
+
"Listening for enemy footsteps...",
|
|
14
|
+
"Nudging interstellar gravity...",
|
|
15
|
+
"Buffing team morale...",
|
|
16
|
+
"Locking in champion picks...",
|
|
17
|
+
"Queueing the daily reset...",
|
|
18
|
+
"Collecting cat hair for spells...",
|
|
19
|
+
"Tuning the loot tables...",
|
|
20
|
+
"Stoking the forge coals...",
|
|
21
|
+
"Feeding pixels to the server hamsters...",
|
|
22
|
+
"Compiling shaders... still compiling...",
|
|
23
|
+
"Rolling for RNG blessings...",
|
|
24
|
+
"Brewing a second pot...",
|
|
25
|
+
"Polishing the legendary spoon...",
|
|
26
|
+
"Reticulating quiet splines...",
|
|
27
|
+
"Petting the office goblin...",
|
|
28
|
+
"Negotiating with the cache...",
|
|
29
|
+
"Patching the patch notes...",
|
|
30
|
+
"Folding fitted sheets in zero-g...",
|
|
31
|
+
"Kerning the dragon's name...",
|
|
32
|
+
"Reading the changelog aloud...",
|
|
33
|
+
"Watering the office fern...",
|
|
34
|
+
"Dusting the achievement shelf...",
|
|
35
|
+
"Whispering to the rubber duck..."
|
|
36
|
+
];
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/components/blocks/loading-screen/index.tsx
|
|
39
|
+
function LoadingScreen({ message, messages, rotationMs = 3e3 }) {
|
|
40
|
+
const catalog = messages ?? messages_default;
|
|
41
|
+
const [index, setIndex] = useState(0);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (message !== void 0 || catalog.length < 2) return;
|
|
44
|
+
const id = setInterval(() => {
|
|
45
|
+
setIndex((current) => (current + 1) % catalog.length);
|
|
46
|
+
}, rotationMs);
|
|
47
|
+
return () => clearInterval(id);
|
|
48
|
+
}, [
|
|
49
|
+
catalog.length,
|
|
50
|
+
message,
|
|
51
|
+
rotationMs
|
|
52
|
+
]);
|
|
53
|
+
const display = message ?? catalog[index] ?? "Loading...";
|
|
54
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
55
|
+
className: "flex min-h-full w-full flex-1 flex-col items-center justify-center gap-4 p-8",
|
|
56
|
+
children: [/* @__PURE__ */ jsx(Loader2, { className: "size-8 animate-spin text-muted-foreground" }), /* @__PURE__ */ jsx("p", {
|
|
57
|
+
className: "max-w-sm text-center text-sm text-muted-foreground",
|
|
58
|
+
children: display
|
|
59
|
+
})]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { LoadingScreen as t };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { codeToHtml } from "shiki";
|
|
4
|
+
//#region src/components/rich-text/shiki-code.tsx
|
|
5
|
+
function ShikiCode({ code, language }) {
|
|
6
|
+
const [html, setHtml] = useState("");
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
let cancelled = false;
|
|
9
|
+
codeToHtml(code, {
|
|
10
|
+
lang: language === "text" ? "plaintext" : language,
|
|
11
|
+
themes: {
|
|
12
|
+
light: "github-light",
|
|
13
|
+
dark: "github-dark"
|
|
14
|
+
},
|
|
15
|
+
defaultColor: false
|
|
16
|
+
}).then((out) => {
|
|
17
|
+
if (!cancelled) setHtml(out);
|
|
18
|
+
});
|
|
19
|
+
return () => {
|
|
20
|
+
cancelled = true;
|
|
21
|
+
};
|
|
22
|
+
}, [code, language]);
|
|
23
|
+
return /* @__PURE__ */ jsx("div", {
|
|
24
|
+
className: "rounded bg-muted p-3 text-sm",
|
|
25
|
+
dangerouslySetInnerHTML: { __html: html }
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { ShikiCode as default };
|
package/dist/text.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { JSONContent } from "@tiptap/core";
|
|
3
|
+
//#region src/components/rich-text/types.d.ts
|
|
4
|
+
type NodeRenderer = (props: {
|
|
5
|
+
node: JSONContent;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}) => ReactNode;
|
|
8
|
+
type NodeRegistry = Record<string, NodeRenderer>;
|
|
9
|
+
interface RichTextProps {
|
|
10
|
+
json: JSONContent;
|
|
11
|
+
nodes?: NodeRegistry;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/rich-text/index.d.ts
|
|
15
|
+
declare function RichText({ json, nodes }: RichTextProps): import("react").JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { type NodeRegistry, type NodeRenderer, RichText, type RichTextProps };
|
package/dist/text.js
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment as Fragment$1, Suspense, lazy } from "react";
|
|
3
|
+
//#region src/components/rich-text/nodes.tsx
|
|
4
|
+
const ShikiCode = lazy(() => import("./shiki-code-Bg__Vnt1.js"));
|
|
5
|
+
const coreNodes = {
|
|
6
|
+
doc: ({ children }) => /* @__PURE__ */ jsx(Fragment, { children }),
|
|
7
|
+
paragraph: ({ children }) => /* @__PURE__ */ jsx("p", { children }),
|
|
8
|
+
heading: ({ node, children }) => {
|
|
9
|
+
const level = node.attrs?.level ?? 1;
|
|
10
|
+
if (level === 1) return /* @__PURE__ */ jsx("h1", { children });
|
|
11
|
+
if (level === 2) return /* @__PURE__ */ jsx("h2", { children });
|
|
12
|
+
return /* @__PURE__ */ jsx("h3", { children });
|
|
13
|
+
},
|
|
14
|
+
bulletList: ({ children }) => /* @__PURE__ */ jsx("ul", { children }),
|
|
15
|
+
orderedList: ({ children }) => /* @__PURE__ */ jsx("ol", { children }),
|
|
16
|
+
listItem: ({ children }) => /* @__PURE__ */ jsx("li", { children }),
|
|
17
|
+
taskList: ({ children }) => /* @__PURE__ */ jsx("ul", {
|
|
18
|
+
className: "list-none pl-0",
|
|
19
|
+
children
|
|
20
|
+
}),
|
|
21
|
+
taskItem: ({ node, children }) => /* @__PURE__ */ jsxs("li", {
|
|
22
|
+
className: "flex items-center gap-2",
|
|
23
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
24
|
+
checked: !!node.attrs?.checked,
|
|
25
|
+
readOnly: true,
|
|
26
|
+
type: "checkbox"
|
|
27
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
28
|
+
className: "[&>p]:m-0",
|
|
29
|
+
children
|
|
30
|
+
})]
|
|
31
|
+
}),
|
|
32
|
+
blockquote: ({ children }) => /* @__PURE__ */ jsx("blockquote", { children }),
|
|
33
|
+
table: ({ children }) => /* @__PURE__ */ jsx("div", {
|
|
34
|
+
className: "my-2 overflow-x-auto",
|
|
35
|
+
children: /* @__PURE__ */ jsx("table", {
|
|
36
|
+
className: "w-full border-collapse",
|
|
37
|
+
children: /* @__PURE__ */ jsx("tbody", { children })
|
|
38
|
+
})
|
|
39
|
+
}),
|
|
40
|
+
tableRow: ({ children }) => /* @__PURE__ */ jsx("tr", { children }),
|
|
41
|
+
tableHeader: ({ node, children }) => /* @__PURE__ */ jsx("th", {
|
|
42
|
+
className: "border px-2 py-1 text-left font-medium",
|
|
43
|
+
colSpan: node.attrs?.colspan ?? 1,
|
|
44
|
+
rowSpan: node.attrs?.rowspan ?? 1,
|
|
45
|
+
children
|
|
46
|
+
}),
|
|
47
|
+
tableCell: ({ node, children }) => /* @__PURE__ */ jsx("td", {
|
|
48
|
+
className: "border px-2 py-1",
|
|
49
|
+
colSpan: node.attrs?.colspan ?? 1,
|
|
50
|
+
rowSpan: node.attrs?.rowspan ?? 1,
|
|
51
|
+
children
|
|
52
|
+
}),
|
|
53
|
+
horizontalRule: () => /* @__PURE__ */ jsx("hr", {}),
|
|
54
|
+
text: ({ node }) => {
|
|
55
|
+
let out = node.text ?? "";
|
|
56
|
+
for (const mark of node.marks ?? []) {
|
|
57
|
+
if (mark.type === "bold") out = /* @__PURE__ */ jsx("strong", { children: out });
|
|
58
|
+
if (mark.type === "italic") out = /* @__PURE__ */ jsx("em", { children: out });
|
|
59
|
+
if (mark.type === "underline") out = /* @__PURE__ */ jsx("u", { children: out });
|
|
60
|
+
if (mark.type === "strike") out = /* @__PURE__ */ jsx("s", { children: out });
|
|
61
|
+
if (mark.type === "code") out = /* @__PURE__ */ jsx("code", { children: out });
|
|
62
|
+
if (mark.type === "link") out = /* @__PURE__ */ jsx("a", {
|
|
63
|
+
href: mark.attrs?.href,
|
|
64
|
+
rel: "noreferrer",
|
|
65
|
+
target: "_blank",
|
|
66
|
+
children: out
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return /* @__PURE__ */ jsx("span", { children: out });
|
|
70
|
+
},
|
|
71
|
+
codeBlock: ({ node }) => /* @__PURE__ */ jsx(Suspense, {
|
|
72
|
+
fallback: /* @__PURE__ */ jsx("pre", {
|
|
73
|
+
className: "rounded bg-muted p-3 text-sm",
|
|
74
|
+
children: node.attrs?.code
|
|
75
|
+
}),
|
|
76
|
+
children: /* @__PURE__ */ jsx(ShikiCode, {
|
|
77
|
+
code: node.attrs?.code ?? "",
|
|
78
|
+
language: node.attrs?.language ?? "text"
|
|
79
|
+
})
|
|
80
|
+
}),
|
|
81
|
+
callout: ({ children }) => /* @__PURE__ */ jsx("aside", {
|
|
82
|
+
className: "my-3 rounded-md border-l-4 border-l-info bg-info/10 px-3 py-2",
|
|
83
|
+
children
|
|
84
|
+
}),
|
|
85
|
+
toggle: ({ node, children }) => /* @__PURE__ */ jsxs("details", {
|
|
86
|
+
className: "my-2 rounded-md border",
|
|
87
|
+
children: [/* @__PURE__ */ jsx("summary", {
|
|
88
|
+
className: "cursor-pointer px-2 py-1 text-sm font-medium",
|
|
89
|
+
children: node.attrs?.title ?? "Toggle"
|
|
90
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
91
|
+
className: "px-6 pb-2",
|
|
92
|
+
children
|
|
93
|
+
})]
|
|
94
|
+
}),
|
|
95
|
+
bookmark: ({ node }) => {
|
|
96
|
+
const url = node.attrs?.url ?? "#";
|
|
97
|
+
const favicon = node.attrs?.favicon;
|
|
98
|
+
const title = node.attrs?.title || url;
|
|
99
|
+
const siteName = node.attrs?.siteName;
|
|
100
|
+
return /* @__PURE__ */ jsxs("a", {
|
|
101
|
+
className: "not-prose my-2 flex w-full items-center gap-3 rounded-md border px-3 py-1.5 leading-none no-underline",
|
|
102
|
+
href: url,
|
|
103
|
+
rel: "noreferrer",
|
|
104
|
+
target: "_blank",
|
|
105
|
+
children: [
|
|
106
|
+
favicon ? /* @__PURE__ */ jsx("img", {
|
|
107
|
+
alt: "",
|
|
108
|
+
className: "size-4 shrink-0",
|
|
109
|
+
src: favicon
|
|
110
|
+
}) : null,
|
|
111
|
+
/* @__PURE__ */ jsx("span", {
|
|
112
|
+
className: "min-w-0 flex-1 truncate text-sm font-medium",
|
|
113
|
+
children: title
|
|
114
|
+
}),
|
|
115
|
+
siteName ? /* @__PURE__ */ jsx("span", {
|
|
116
|
+
className: "shrink-0 text-sm text-muted-foreground",
|
|
117
|
+
children: siteName
|
|
118
|
+
}) : null
|
|
119
|
+
]
|
|
120
|
+
});
|
|
121
|
+
},
|
|
122
|
+
videoEmbed: ({ node }) => /* @__PURE__ */ jsx("div", {
|
|
123
|
+
className: "my-2 aspect-video w-full overflow-hidden rounded-md",
|
|
124
|
+
children: /* @__PURE__ */ jsx("iframe", {
|
|
125
|
+
allowFullScreen: true,
|
|
126
|
+
className: "h-full w-full",
|
|
127
|
+
src: toEmbed(node.attrs?.url ?? ""),
|
|
128
|
+
title: "Embedded video"
|
|
129
|
+
})
|
|
130
|
+
}),
|
|
131
|
+
imageBlock: ({ node }) => {
|
|
132
|
+
const src = node.attrs?.src;
|
|
133
|
+
if (!src) return null;
|
|
134
|
+
return /* @__PURE__ */ jsx("img", {
|
|
135
|
+
alt: node.attrs?.alt ?? "",
|
|
136
|
+
className: "max-w-full rounded-md",
|
|
137
|
+
src
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
function toEmbed(url) {
|
|
142
|
+
try {
|
|
143
|
+
const parsed = new URL(url);
|
|
144
|
+
if (parsed.hostname.includes("youtube.com") || parsed.hostname === "youtu.be") {
|
|
145
|
+
const id = parsed.hostname === "youtu.be" ? parsed.pathname.slice(1) : parsed.searchParams.get("v") ?? "";
|
|
146
|
+
return id ? `https://www.youtube.com/embed/${id}` : url;
|
|
147
|
+
}
|
|
148
|
+
if (parsed.hostname.includes("vimeo.com")) {
|
|
149
|
+
const id = parsed.pathname.split("/").filter(Boolean).pop();
|
|
150
|
+
return id ? `https://player.vimeo.com/video/${id}` : url;
|
|
151
|
+
}
|
|
152
|
+
return url;
|
|
153
|
+
} catch {
|
|
154
|
+
return url;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/components/rich-text/index.tsx
|
|
159
|
+
function RichText({ json, nodes }) {
|
|
160
|
+
const registry = nodes ? {
|
|
161
|
+
...coreNodes,
|
|
162
|
+
...nodes
|
|
163
|
+
} : coreNodes;
|
|
164
|
+
return /* @__PURE__ */ jsx(Fragment, { children: renderNode(json, "root", registry) });
|
|
165
|
+
}
|
|
166
|
+
function renderNode(node, key, registry) {
|
|
167
|
+
if (!node) return null;
|
|
168
|
+
const children = (node.content ?? []).map((child, i) => renderNode(child, `${key}-${i}`, registry));
|
|
169
|
+
const Renderer = node.type ? registry[node.type] : void 0;
|
|
170
|
+
if (!Renderer) return /* @__PURE__ */ jsx(Fragment$1, { children }, key);
|
|
171
|
+
return /* @__PURE__ */ jsx(Renderer, {
|
|
172
|
+
node,
|
|
173
|
+
children
|
|
174
|
+
}, key);
|
|
175
|
+
}
|
|
176
|
+
//#endregion
|
|
177
|
+
export { RichText };
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
/* Catppuccin Frappe Theme - Dark Mode (Mauve accent) */
|
|
2
|
-
html[data-theme=
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
html[data-theme='frappe'] {
|
|
3
|
+
--radius: 0.625rem;
|
|
4
|
+
--background: hsl(229 18.64% 23.14%); /* base */
|
|
5
|
+
--foreground: hsl(227 70.15% 86.86%); /* text */
|
|
6
|
+
--card: hsl(229 18.64% 23.14%); /* base */
|
|
7
|
+
--card-foreground: hsl(227 70.15% 86.86%); /* text */
|
|
8
|
+
--popover: hsl(229 18.64% 23.14%); /* base */
|
|
9
|
+
--popover-foreground: hsl(227 70.15% 86.86%); /* text */
|
|
10
|
+
--primary: hsl(277 59.02% 76.08%); /* accent - Mauve */
|
|
11
|
+
--primary-foreground: hsl(229 18.64% 23.14%); /* base */
|
|
12
|
+
--secondary: hsl(230 15.58% 30.20%); /* surface0 */
|
|
13
|
+
--secondary-foreground: hsl(227 70.15% 86.86%); /* text */
|
|
14
|
+
--muted: hsl(230 15.58% 30.20%); /* surface0 */
|
|
15
|
+
--muted-foreground: hsl(227 43.69% 79.80%); /* subtext1 */
|
|
16
|
+
--accent: hsl(230 15.58% 30.20%); /* surface0 */
|
|
17
|
+
--accent-foreground: hsl(227 70.15% 86.86%); /* text */
|
|
18
|
+
--destructive: hsl(359 67.79% 70.78%); /* red */
|
|
19
|
+
--border: hsl(227 14.74% 37.25%); /* surface1 */
|
|
20
|
+
--input: hsl(227 14.74% 37.25%); /* surface1 */
|
|
21
|
+
--ring: hsl(227 70.15% 86.86%); /* text */
|
|
22
|
+
--chart-1: hsl(341 18.43% 40.00%); /* red */
|
|
23
|
+
--chart-2: hsl(191 18.43% 39.22%); /* teal */
|
|
24
|
+
--chart-3: hsl(224 23.53% 43.53%); /* blue */
|
|
25
|
+
--chart-4: hsl(31 9.41% 43.53%); /* yellow */
|
|
26
|
+
--chart-5: hsl(126 9.41% 41.18%); /* green */
|
|
27
|
+
--sidebar: hsl(229 18.82% 21.96%); /* mantle */
|
|
28
|
+
--sidebar-foreground: hsl(227 70.15% 86.86%); /* text */
|
|
29
|
+
--sidebar-primary: hsl(277 59.02% 76.08%); /* accent - Mauve */
|
|
30
|
+
--sidebar-primary-foreground: hsl(229 18.64% 23.14%); /* base */
|
|
31
|
+
--sidebar-accent: hsl(229 18.64% 23.14%); /* surface0 */
|
|
32
|
+
--sidebar-accent-foreground: hsl(227 70.15% 86.86%); /* text */
|
|
33
|
+
--sidebar-border: hsl(227 14.74% 37.25%); /* surface1 */
|
|
34
|
+
--sidebar-ring: hsl(227 14.74% 37.25%); /* surface1 */
|
|
35
35
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
/* Catppuccin Latte Theme - Light Mode (Mauve accent) */
|
|
2
|
-
html[data-theme=
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
html[data-theme='latte'] {
|
|
3
|
+
--radius: 0.625rem;
|
|
4
|
+
--background: hsl(220 23.08% 94.90%); /* base */
|
|
5
|
+
--foreground: hsl(234 16.02% 35.49%); /* text */
|
|
6
|
+
--card: hsl(220 23.08% 94.90%); /* base */
|
|
7
|
+
--card-foreground: hsl(234 16.02% 35.49%); /* text */
|
|
8
|
+
--popover: hsl(220 23.08% 94.90%); /* base */
|
|
9
|
+
--popover-foreground: hsl(234 16.02% 35.49%); /* text */
|
|
10
|
+
--primary: hsl(266 85.05% 58.04%); /* accent - Mauve */
|
|
11
|
+
--primary-foreground: hsl(220 23.08% 94.90%); /* base */
|
|
12
|
+
--secondary: hsl(223 15.91% 82.75%); /* surface0 */
|
|
13
|
+
--secondary-foreground: hsl(234 16.02% 35.49%); /* text */
|
|
14
|
+
--muted: hsl(223 15.91% 82.75%); /* surface0 */
|
|
15
|
+
--muted-foreground: hsl(233 12.80% 41.37%); /* subtext1 */
|
|
16
|
+
--accent: hsl(223 15.91% 82.75%); /* surface0 */
|
|
17
|
+
--accent-foreground: hsl(234 16.02% 35.49%); /* text */
|
|
18
|
+
--destructive: hsl(347 86.67% 44.12%); /* red */
|
|
19
|
+
--border: hsl(225 13.56% 76.86%); /* surface1 */
|
|
20
|
+
--input: hsl(225 13.56% 76.86%); /* surface1 */
|
|
21
|
+
--ring: hsl(234 16.02% 35.49%); /* text */
|
|
22
|
+
--chart-1: hsl(345 57.65% 74.12%); /* red */
|
|
23
|
+
--chart-2: hsl(185 37.25% 70.59%); /* teal */
|
|
24
|
+
--chart-3: hsl(219 81.96% 78.43%); /* blue */
|
|
25
|
+
--chart-4: hsl(35 61.18% 76.86%); /* yellow */
|
|
26
|
+
--chart-5: hsl(113 32.94% 73.33%); /* green */
|
|
27
|
+
--sidebar: hsl(218 25.10% 93.73%); /* mantle */
|
|
28
|
+
--sidebar-foreground: hsl(234 16.02% 35.49%); /* text */
|
|
29
|
+
--sidebar-primary: hsl(266 85.05% 58.04%); /* accent - Mauve */
|
|
30
|
+
--sidebar-primary-foreground: hsl(220 23.08% 94.90%); /* base */
|
|
31
|
+
--sidebar-accent: hsl(220 23.08% 94.90%); /* surface0 */
|
|
32
|
+
--sidebar-accent-foreground: hsl(234 16.02% 35.49%); /* text */
|
|
33
|
+
--sidebar-border: hsl(225 13.56% 76.86%); /* surface1 */
|
|
34
|
+
--sidebar-ring: hsl(225 13.56% 76.86%); /* surface1 */
|
|
35
35
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
/* Catppuccin Macchiato Theme - Dark Mode (Mauve accent) */
|
|
2
|
-
html[data-theme=
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
html[data-theme='macchiato'] {
|
|
3
|
+
--radius: 0.625rem;
|
|
4
|
+
--background: hsl(232 23.40% 18.43%); /* base */
|
|
5
|
+
--foreground: hsl(227 68.25% 87.65%); /* text */
|
|
6
|
+
--card: hsl(232 23.40% 18.43%); /* base */
|
|
7
|
+
--card-foreground: hsl(227 68.25% 87.65%); /* text */
|
|
8
|
+
--popover: hsl(232 23.40% 18.43%); /* base */
|
|
9
|
+
--popover-foreground: hsl(227 68.25% 87.65%); /* text */
|
|
10
|
+
--primary: hsl(267 82.69% 79.61%); /* accent - Mauve */
|
|
11
|
+
--primary-foreground: hsl(232 23.40% 18.43%); /* base */
|
|
12
|
+
--secondary: hsl(230 18.80% 26.08%); /* surface0 */
|
|
13
|
+
--secondary-foreground: hsl(227 68.25% 87.65%); /* text */
|
|
14
|
+
--muted: hsl(230 18.80% 26.08%); /* surface0 */
|
|
15
|
+
--muted-foreground: hsl(228 39.22% 80.00%); /* subtext1 */
|
|
16
|
+
--accent: hsl(230 18.80% 26.08%); /* surface0 */
|
|
17
|
+
--accent-foreground: hsl(227 68.25% 87.65%); /* text */
|
|
18
|
+
--destructive: hsl(351 73.91% 72.94%); /* red */
|
|
19
|
+
--border: hsl(231 15.61% 33.92%); /* surface1 */
|
|
20
|
+
--input: hsl(231 15.61% 33.92%); /* surface1 */
|
|
21
|
+
--ring: hsl(227 68.25% 87.65%); /* text */
|
|
22
|
+
--chart-1: hsl(333 20.78% 38.04%); /* red */
|
|
23
|
+
--chart-2: hsl(193 19.61% 38.04%); /* teal */
|
|
24
|
+
--chart-3: hsl(224 26.67% 41.18%); /* blue */
|
|
25
|
+
--chart-4: hsl(30 8.24% 42.35%); /* yellow */
|
|
26
|
+
--chart-5: hsl(139 10.98% 38.82%); /* green */
|
|
27
|
+
--sidebar: hsl(234 22.75% 17.25%); /* mantle */
|
|
28
|
+
--sidebar-foreground: hsl(227 68.25% 87.65%); /* text */
|
|
29
|
+
--sidebar-primary: hsl(267 82.69% 79.61%); /* accent - Mauve */
|
|
30
|
+
--sidebar-primary-foreground: hsl(232 23.40% 18.43%); /* base */
|
|
31
|
+
--sidebar-accent: hsl(232 23.40% 18.43%); /* surface0 */
|
|
32
|
+
--sidebar-accent-foreground: hsl(227 68.25% 87.65%); /* text */
|
|
33
|
+
--sidebar-border: hsl(231 15.61% 33.92%); /* surface1 */
|
|
34
|
+
--sidebar-ring: hsl(231 15.61% 33.92%); /* surface1 */
|
|
35
35
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
/* Catppuccin Mocha Theme - Dark Mode (Mauve accent) */
|
|
2
|
-
html[data-theme=
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
html[data-theme='mocha'] {
|
|
3
|
+
--radius: 0.625rem;
|
|
4
|
+
--background: hsl(240 21.05% 14.90%); /* base */
|
|
5
|
+
--foreground: hsl(226 63.93% 88.04%); /* text */
|
|
6
|
+
--card: hsl(240 21.05% 14.90%); /* base */
|
|
7
|
+
--card-foreground: hsl(226 63.93% 88.04%); /* text */
|
|
8
|
+
--popover: hsl(240 21.05% 14.90%); /* base */
|
|
9
|
+
--popover-foreground: hsl(226 63.93% 88.04%); /* text */
|
|
10
|
+
--primary: hsl(267 83.51% 80.98%); /* accent - Mauve */
|
|
11
|
+
--primary-foreground: hsl(240 21.05% 14.90%); /* base */
|
|
12
|
+
--secondary: hsl(237 16.24% 22.94%); /* surface0 */
|
|
13
|
+
--secondary-foreground: hsl(226 63.93% 88.04%); /* text */
|
|
14
|
+
--muted: hsl(237 16.24% 22.94%); /* surface0 */
|
|
15
|
+
--muted-foreground: hsl(227 35.29% 80.00%); /* subtext1 */
|
|
16
|
+
--accent: hsl(237 16.24% 22.94%); /* surface0 */
|
|
17
|
+
--accent-foreground: hsl(226 63.93% 88.04%); /* text */
|
|
18
|
+
--destructive: hsl(343 81.25% 74.90%); /* red */
|
|
19
|
+
--border: hsl(234 13.21% 31.18%); /* surface1 */
|
|
20
|
+
--input: hsl(234 13.21% 31.18%); /* surface1 */
|
|
21
|
+
--ring: hsl(226 63.93% 88.04%); /* text */
|
|
22
|
+
--chart-1: hsl(329 21.57% 37.25%); /* red */
|
|
23
|
+
--chart-2: hsl(188 18.82% 37.25%); /* teal */
|
|
24
|
+
--chart-3: hsl(221 27.45% 39.61%); /* blue */
|
|
25
|
+
--chart-4: hsl(30 9.41% 42.35%); /* yellow */
|
|
26
|
+
--chart-5: hsl(139 12.94% 38.04%); /* green */
|
|
27
|
+
--sidebar: hsl(240 21.18% 14.12%); /* mantle */
|
|
28
|
+
--sidebar-foreground: hsl(226 63.93% 88.04%); /* text */
|
|
29
|
+
--sidebar-primary: hsl(267 83.51% 80.98%); /* accent - Mauve */
|
|
30
|
+
--sidebar-primary-foreground: hsl(240 21.05% 14.90%); /* base */
|
|
31
|
+
--sidebar-accent: hsl(240 21.05% 14.90%); /* surface0 */
|
|
32
|
+
--sidebar-accent-foreground: hsl(226 63.93% 88.04%); /* text */
|
|
33
|
+
--sidebar-border: hsl(234 13.21% 31.18%); /* surface1 */
|
|
34
|
+
--sidebar-ring: hsl(234 13.21% 31.18%); /* surface1 */
|
|
35
35
|
}
|