@ekkolyth/ui 0.1.16 → 0.1.18

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.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +153 -97
  3. package/dist/base.css +263 -0
  4. package/dist/blocks.d.ts +4 -0
  5. package/dist/blocks.js +4 -0
  6. package/dist/container-BBg21poC.js +10 -0
  7. package/dist/convex.d.ts +2 -0
  8. package/dist/convex.js +2 -0
  9. package/dist/hooks.d.ts +2 -0
  10. package/dist/hooks.js +2 -0
  11. package/dist/icon-picker-ByfHyJ7i.js +4078 -0
  12. package/dist/index-Bwp0YMmG.d.ts +5 -0
  13. package/dist/index-BxcqwZNT.d.ts +30 -0
  14. package/dist/index-DHF8OR1R.d.ts +60 -0
  15. package/dist/index-DsLGf2HX.d.ts +9 -0
  16. package/dist/index-qji4ohJZ.d.ts +24 -0
  17. package/dist/index.d.ts +793 -533
  18. package/dist/index.js +3236 -5578
  19. package/dist/layout.d.ts +2 -0
  20. package/dist/layout.js +2 -0
  21. package/dist/loading-screen-DB3youyT.js +63 -0
  22. package/dist/shiki-code-Bg__Vnt1.js +29 -0
  23. package/dist/text.d.ts +17 -0
  24. package/dist/text.js +177 -0
  25. package/dist/themes/catpuccin/frappe.css +33 -33
  26. package/dist/themes/catpuccin/latte.css +33 -33
  27. package/dist/themes/catpuccin/macchiato.css +33 -33
  28. package/dist/themes/catpuccin/mocha.css +33 -33
  29. package/dist/themes/ekko-os.css +92 -37
  30. package/dist/themes/ekkolyth.css +2 -2
  31. package/dist/themes/index.css +7 -66
  32. package/dist/themes/provider.d.ts +62 -0
  33. package/dist/themes/provider.js +271 -0
  34. package/dist/themes/tokyo-night.css +33 -33
  35. package/dist/themes.css +7 -0
  36. package/dist/toggle-B2PFPImC.js +182 -0
  37. package/dist/use-mobile-BVGje-2e.d.ts +4 -0
  38. package/dist/use-mobile-CqHXB_Nc.js +18 -0
  39. package/dist/utils-C_uf36nf.js +8 -0
  40. package/dist/widget-C2vjxQms.js +94 -0
  41. package/dist/widget.d.ts +6 -0
  42. package/dist/widget.js +19 -0
  43. package/package.json +125 -170
  44. package/dist/index-C3ceanPz.d.ts +0 -18
  45. package/dist/index-C7t_lwpi.d.ts +0 -13
  46. package/dist/next.d.ts +0 -13
  47. package/dist/next.js +0 -271
  48. package/dist/providers/next.d.ts +0 -25
  49. package/dist/providers/next.js +0 -216
  50. package/dist/providers/tanstack.d.ts +0 -24
  51. package/dist/providers/tanstack.js +0 -120
  52. package/dist/tanstack.d.ts +0 -12
  53. package/dist/tanstack.js +0 -203
  54. package/dist/themes/ekko-playlist.css +0 -71
  55. package/dist/themes/theme-select.d.ts +0 -12
  56. package/dist/themes/theme-select.js +0 -357
  57. package/dist/themes/theme-toggle.d.ts +0 -15
  58. package/dist/themes/theme-toggle.js +0 -179
  59. package/dist/types-fUfvw1Mz.d.ts +0 -8
@@ -1,179 +0,0 @@
1
- import { Monitor, Moon, Sun } from 'lucide-react';
2
- import { cva } from 'class-variance-authority';
3
- import { Toggle as Toggle$1 } from 'radix-ui';
4
- import { clsx } from 'clsx';
5
- import { twMerge } from 'tailwind-merge';
6
- import { jsx } from 'react/jsx-runtime';
7
- import 'next-themes';
8
- import { createContext, use } from 'react';
9
-
10
- var __defProp = Object.defineProperty;
11
- var __defProps = Object.defineProperties;
12
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
13
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
- var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
- var __spreadValues = (a, b) => {
18
- for (var prop in b || (b = {}))
19
- if (__hasOwnProp.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- if (__getOwnPropSymbols)
22
- for (var prop of __getOwnPropSymbols(b)) {
23
- if (__propIsEnum.call(b, prop))
24
- __defNormalProp(a, prop, b[prop]);
25
- }
26
- return a;
27
- };
28
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
29
- var __objRest = (source, exclude) => {
30
- var target = {};
31
- for (var prop in source)
32
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
33
- target[prop] = source[prop];
34
- if (source != null && __getOwnPropSymbols)
35
- for (var prop of __getOwnPropSymbols(source)) {
36
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
37
- target[prop] = source[prop];
38
- }
39
- return target;
40
- };
41
- function cn(...inputs) {
42
- return twMerge(clsx(inputs));
43
- }
44
- var toggleVariants = cva(
45
- "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
46
- {
47
- variants: {
48
- variant: {
49
- default: "bg-transparent",
50
- outline: "border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"
51
- },
52
- size: {
53
- default: "h-9 px-2 min-w-9",
54
- sm: "h-8 px-1.5 min-w-8",
55
- lg: "h-10 px-2.5 min-w-10"
56
- }
57
- },
58
- defaultVariants: {
59
- variant: "default",
60
- size: "default"
61
- }
62
- }
63
- );
64
- function Toggle(_a) {
65
- var _b = _a, {
66
- className,
67
- variant = "default",
68
- size = "default"
69
- } = _b, props = __objRest(_b, [
70
- "className",
71
- "variant",
72
- "size"
73
- ]);
74
- return /* @__PURE__ */ jsx(
75
- Toggle$1.Root,
76
- __spreadValues({
77
- "data-slot": "toggle",
78
- className: cn(toggleVariants({ variant, size, className }))
79
- }, props)
80
- );
81
- }
82
- var initialState = {
83
- systemTheme: "system",
84
- resolvedTheme: "ekkolyth-light",
85
- availableThemes: {
86
- light: ["ekkolyth-light"],
87
- dark: ["ekkolyth-dark"]
88
- },
89
- setSystemTheme: () => null,
90
- setSpecificTheme: () => null
91
- };
92
- var NextThemeProviderContext = createContext(initialState);
93
- function useNextTheme() {
94
- const context = use(NextThemeProviderContext);
95
- if (context === void 0) {
96
- throw new Error("useNextTheme must be used within a NextThemeProvider");
97
- }
98
- return context;
99
- }
100
- var initialState2 = {
101
- systemTheme: "system",
102
- resolvedTheme: "ekkolyth-light",
103
- availableThemes: {
104
- light: ["ekkolyth-light"],
105
- dark: ["ekkolyth-dark"]
106
- },
107
- setSystemTheme: () => null,
108
- setSpecificTheme: () => null
109
- };
110
- var TanstackThemeProviderContext = createContext(initialState2);
111
- function useTanstackTheme() {
112
- const context = use(TanstackThemeProviderContext);
113
- if (context === void 0) {
114
- throw new Error(
115
- "useTanstackTheme must be used within a TanstackThemeProvider"
116
- );
117
- }
118
- return context;
119
- }
120
- function useTheme() {
121
- try {
122
- return useNextTheme();
123
- } catch (e) {
124
- try {
125
- return useTanstackTheme();
126
- } catch (e2) {
127
- throw new Error(
128
- "useTheme must be used within a ThemeProvider (NextThemeProvider or TanstackThemeProvider)"
129
- );
130
- }
131
- }
132
- }
133
- function ThemeToggle(_a) {
134
- var _b = _a, {
135
- variant = "default",
136
- size = "default",
137
- className
138
- } = _b, props = __objRest(_b, [
139
- "variant",
140
- "size",
141
- "className"
142
- ]);
143
- const { systemTheme, setSystemTheme } = useTheme();
144
- const cycleTheme = () => {
145
- const cycle = ["light", "dark", "system"];
146
- const currentIndex = cycle.indexOf(
147
- systemTheme === "normal" ? "light" : systemTheme
148
- );
149
- const nextIndex = (currentIndex + 1) % cycle.length;
150
- setSystemTheme(cycle[nextIndex]);
151
- };
152
- const getIcon = () => {
153
- const normalizedTheme = systemTheme === "normal" ? "light" : systemTheme;
154
- switch (normalizedTheme) {
155
- case "light":
156
- return /* @__PURE__ */ jsx(Sun, { className: "size-4" });
157
- case "dark":
158
- return /* @__PURE__ */ jsx(Moon, { className: "size-4" });
159
- case "system":
160
- return /* @__PURE__ */ jsx(Monitor, { className: "size-4" });
161
- default:
162
- return /* @__PURE__ */ jsx(Monitor, { className: "size-4" });
163
- }
164
- };
165
- return /* @__PURE__ */ jsx(
166
- Toggle,
167
- __spreadProps(__spreadValues({
168
- variant,
169
- size,
170
- className: cn(className),
171
- onClick: cycleTheme,
172
- "aria-label": `Switch theme. Current: ${systemTheme}`
173
- }, props), {
174
- children: getIcon()
175
- })
176
- );
177
- }
178
-
179
- export { ThemeToggle };
@@ -1,8 +0,0 @@
1
- type SystemTheme = 'light' | 'dark' | 'system' | 'normal';
2
- declare const LIGHT_THEMES: readonly ["latte", "ekkoos-light", "ekkolyth-light", "ekko-playlist-light"];
3
- declare const DARK_THEMES: readonly ["mocha", "frappe", "macchiato", "tokyo-night", "ekkoos-dark", "ekkolyth-dark", "ekko-playlist-dark"];
4
- type LightThemes = (typeof LIGHT_THEMES)[number];
5
- type DarkThemes = (typeof DARK_THEMES)[number];
6
- type ThemeName = LightThemes | DarkThemes;
7
-
8
- export type { DarkThemes as D, LightThemes as L, SystemTheme as S, ThemeName as T };