@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.
- package/LICENSE +21 -0
- package/README.md +153 -97
- 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 -0
- 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/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/types-fUfvw1Mz.d.ts +0 -8
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { t as cn } from "./utils-C_uf36nf.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
5
|
+
import { createContext, use } from "react";
|
|
6
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
7
|
+
import { Toaster } from "sonner";
|
|
8
|
+
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
9
|
+
//#region src/components/ui/select/index.tsx
|
|
10
|
+
function Select({ ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Root, {
|
|
12
|
+
"data-slot": "select",
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function SelectGroup({ ...props }) {
|
|
17
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Group, {
|
|
18
|
+
"data-slot": "select-group",
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function SelectValue({ ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Value, {
|
|
24
|
+
"data-slot": "select-value",
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function SelectTrigger({ className, size = "default", children, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, {
|
|
30
|
+
className: cn("bg-input hover:bg-input/80 cursor-pointer data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:ring-ring/50 aria-invalid:ring-destructive/40 flex w-fit items-center justify-between gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] aria-invalid:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
31
|
+
"data-size": size,
|
|
32
|
+
"data-slot": "select-trigger",
|
|
33
|
+
...props,
|
|
34
|
+
children: [children, /* @__PURE__ */ jsx(SelectPrimitive.Icon, {
|
|
35
|
+
asChild: true,
|
|
36
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
37
|
+
})]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function SelectContent({ className, children, position = "popper", ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(SelectPrimitive.Content, {
|
|
42
|
+
className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
43
|
+
"data-slot": "select-content",
|
|
44
|
+
position,
|
|
45
|
+
...props,
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
48
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Viewport, {
|
|
49
|
+
className: cn("p-1", position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),
|
|
50
|
+
children
|
|
51
|
+
}),
|
|
52
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
53
|
+
]
|
|
54
|
+
}) });
|
|
55
|
+
}
|
|
56
|
+
function SelectLabel({ className, ...props }) {
|
|
57
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Label, {
|
|
58
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
59
|
+
"data-slot": "select-label",
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function SelectItem({ className, children, ...props }) {
|
|
64
|
+
return /* @__PURE__ */ jsxs(SelectPrimitive.Item, {
|
|
65
|
+
className: cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
|
|
66
|
+
"data-slot": "select-item",
|
|
67
|
+
...props,
|
|
68
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
69
|
+
className: "absolute right-2 flex size-3.5 items-center justify-center",
|
|
70
|
+
children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
|
|
71
|
+
}), /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })]
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function SelectSeparator({ className, ...props }) {
|
|
75
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Separator, {
|
|
76
|
+
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
77
|
+
"data-slot": "select-separator",
|
|
78
|
+
...props
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function SelectScrollUpButton({ className, ...props }) {
|
|
82
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.ScrollUpButton, {
|
|
83
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
84
|
+
"data-slot": "select-scroll-up-button",
|
|
85
|
+
...props,
|
|
86
|
+
children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function SelectScrollDownButton({ className, ...props }) {
|
|
90
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.ScrollDownButton, {
|
|
91
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
92
|
+
"data-slot": "select-scroll-down-button",
|
|
93
|
+
...props,
|
|
94
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/components/themes/context.tsx
|
|
99
|
+
const ThemeContext = createContext(null);
|
|
100
|
+
function normalizeMode(mode) {
|
|
101
|
+
return mode === "normal" ? "light" : mode;
|
|
102
|
+
}
|
|
103
|
+
function applyTheme(theme, mode) {
|
|
104
|
+
if (typeof document === "undefined") return;
|
|
105
|
+
const root = document.documentElement;
|
|
106
|
+
root.setAttribute("data-theme", theme);
|
|
107
|
+
root.classList.toggle("dark", mode === "dark");
|
|
108
|
+
}
|
|
109
|
+
function useTheme() {
|
|
110
|
+
const context = use(ThemeContext);
|
|
111
|
+
if (context === null) throw new Error("useTheme must be used within a ThemeProvider");
|
|
112
|
+
return context;
|
|
113
|
+
}
|
|
114
|
+
function useThemeContext() {
|
|
115
|
+
return use(ThemeContext);
|
|
116
|
+
}
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/components/ui/sonner/index.tsx
|
|
119
|
+
const Toaster$1 = ({ ...props }) => {
|
|
120
|
+
const theme = useThemeContext();
|
|
121
|
+
return /* @__PURE__ */ jsx(Toaster, {
|
|
122
|
+
className: "toaster group",
|
|
123
|
+
position: "bottom-right",
|
|
124
|
+
richColors: true,
|
|
125
|
+
style: {
|
|
126
|
+
"--normal-bg": "var(--popover)",
|
|
127
|
+
"--normal-text": "var(--popover-foreground)",
|
|
128
|
+
"--normal-border": "var(--border)",
|
|
129
|
+
"--success-bg": "var(--popover)",
|
|
130
|
+
"--success-text": "var(--popover-foreground)",
|
|
131
|
+
"--success-border": "var(--success)",
|
|
132
|
+
"--error-bg": "var(--popover)",
|
|
133
|
+
"--error-text": "var(--popover-foreground)",
|
|
134
|
+
"--error-border": "var(--destructive)",
|
|
135
|
+
"--warning-bg": "var(--popover)",
|
|
136
|
+
"--warning-text": "var(--popover-foreground)",
|
|
137
|
+
"--warning-border": "var(--warning)",
|
|
138
|
+
"--info-bg": "var(--popover)",
|
|
139
|
+
"--info-text": "var(--popover-foreground)",
|
|
140
|
+
"--info-border": "var(--border)"
|
|
141
|
+
},
|
|
142
|
+
theme: theme?.resolvedMode ?? "system",
|
|
143
|
+
toastOptions: { classNames: {
|
|
144
|
+
error: "group-[.toaster]:[&_[data-button]]:border-destructive group-[.toaster]:[&_[data-button]]:text-destructive group-[.toaster]:[&_[data-icon]]:text-destructive",
|
|
145
|
+
warning: "group-[.toaster]:[&_[data-button]]:border-warning group-[.toaster]:[&_[data-button]]:text-warning group-[.toaster]:[&_[data-icon]]:text-warning",
|
|
146
|
+
success: "group-[.toaster]:[&_[data-button]]:border-success group-[.toaster]:[&_[data-button]]:text-success group-[.toaster]:[&_[data-icon]]:text-success"
|
|
147
|
+
} },
|
|
148
|
+
...props
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/components/ui/toggle/index.tsx
|
|
153
|
+
const toggleVariants = cva("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", {
|
|
154
|
+
variants: {
|
|
155
|
+
variant: {
|
|
156
|
+
default: "bg-transparent",
|
|
157
|
+
outline: "border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"
|
|
158
|
+
},
|
|
159
|
+
size: {
|
|
160
|
+
default: "h-9 px-2 min-w-9",
|
|
161
|
+
sm: "h-8 px-1.5 min-w-8",
|
|
162
|
+
lg: "h-10 px-2.5 min-w-10"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
defaultVariants: {
|
|
166
|
+
variant: "default",
|
|
167
|
+
size: "default"
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
function Toggle({ className, variant, size, ...props }) {
|
|
171
|
+
return /* @__PURE__ */ jsx(TogglePrimitive.Root, {
|
|
172
|
+
className: cn(toggleVariants({
|
|
173
|
+
variant,
|
|
174
|
+
size,
|
|
175
|
+
className
|
|
176
|
+
})),
|
|
177
|
+
"data-slot": "toggle",
|
|
178
|
+
...props
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
//#endregion
|
|
182
|
+
export { SelectTrigger as _, applyTheme as a, useThemeContext as c, SelectGroup as d, SelectItem as f, SelectSeparator as g, SelectScrollUpButton as h, ThemeContext as i, Select as l, SelectScrollDownButton as m, toggleVariants as n, normalizeMode as o, SelectLabel as p, Toaster$1 as r, useTheme as s, Toggle as t, SelectContent as u, SelectValue as v };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/hooks/use-mobile.ts
|
|
3
|
+
const MOBILE_BREAKPOINT = 768;
|
|
4
|
+
function useIsMobile() {
|
|
5
|
+
const [isMobile, setIsMobile] = React.useState(void 0);
|
|
6
|
+
React.useEffect(() => {
|
|
7
|
+
const mql = window.matchMedia(`(max-width: 767px)`);
|
|
8
|
+
const onChange = () => {
|
|
9
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
10
|
+
};
|
|
11
|
+
mql.addEventListener("change", onChange);
|
|
12
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
13
|
+
return () => mql.removeEventListener("change", onChange);
|
|
14
|
+
}, []);
|
|
15
|
+
return !!isMobile;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { useIsMobile as t };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { t as cn } from "./utils-C_uf36nf.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronRight } from "lucide-react";
|
|
4
|
+
//#region src/components/ui/card/index.tsx
|
|
5
|
+
function Card({ className, ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", {
|
|
7
|
+
className: cn("bg-card text-card-foreground flex flex-col gap-4 rounded-sm border border-border py-5 shadow-sm", className),
|
|
8
|
+
"data-slot": "card",
|
|
9
|
+
...props
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function CardHeader({ className, ...props }) {
|
|
13
|
+
return /* @__PURE__ */ jsx("div", {
|
|
14
|
+
className: cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className),
|
|
15
|
+
"data-slot": "card-header",
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function CardTitle({ className, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx("div", {
|
|
21
|
+
className: cn("leading-none font-semibold", className),
|
|
22
|
+
"data-slot": "card-title",
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function CardDescription({ className, ...props }) {
|
|
27
|
+
return /* @__PURE__ */ jsx("div", {
|
|
28
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
29
|
+
"data-slot": "card-description",
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function CardAction({ className, ...props }) {
|
|
34
|
+
return /* @__PURE__ */ jsx("div", {
|
|
35
|
+
className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
|
|
36
|
+
"data-slot": "card-action",
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function CardContent({ className, ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx("div", {
|
|
42
|
+
className: cn("px-6", className),
|
|
43
|
+
"data-slot": "card-content",
|
|
44
|
+
...props
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function CardFooter({ className, ...props }) {
|
|
48
|
+
return /* @__PURE__ */ jsx("div", {
|
|
49
|
+
className: cn("flex items-center px-6 [.border-t]:pt-6", className),
|
|
50
|
+
"data-slot": "card-footer",
|
|
51
|
+
...props
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/components/blocks/widget/index.tsx
|
|
56
|
+
function AnchorLink({ children, className, href }) {
|
|
57
|
+
return /* @__PURE__ */ jsx("a", {
|
|
58
|
+
className,
|
|
59
|
+
href,
|
|
60
|
+
children
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function Widget({ children, contentClassName, count, emptyLabel, href, icon, isLoading, linkComponent, title }) {
|
|
64
|
+
return /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, { children: [/* @__PURE__ */ jsxs(CardTitle, {
|
|
65
|
+
className: "flex items-center gap-2 text-base",
|
|
66
|
+
children: [icon, title]
|
|
67
|
+
}), /* @__PURE__ */ jsx(CardAction, { children: /* @__PURE__ */ jsxs(linkComponent ?? AnchorLink, {
|
|
68
|
+
className: "flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground",
|
|
69
|
+
href,
|
|
70
|
+
children: [count !== void 0 && /* @__PURE__ */ jsx("span", { children: count }), /* @__PURE__ */ jsx(ChevronRight, { className: "size-4" })]
|
|
71
|
+
}) })] }), /* @__PURE__ */ jsx(CardContent, {
|
|
72
|
+
className: contentClassName,
|
|
73
|
+
children: isLoading ? /* @__PURE__ */ jsx("div", {
|
|
74
|
+
className: "flex flex-col gap-2",
|
|
75
|
+
children: [
|
|
76
|
+
0,
|
|
77
|
+
1,
|
|
78
|
+
2
|
|
79
|
+
].map((i) => /* @__PURE__ */ jsxs("div", {
|
|
80
|
+
className: "flex flex-col gap-1",
|
|
81
|
+
"data-testid": "widget-skeleton-row",
|
|
82
|
+
children: [/* @__PURE__ */ jsx("div", { className: "h-3 bg-muted rounded animate-pulse" }), /* @__PURE__ */ jsx("div", { className: "h-2 bg-muted/60 rounded animate-pulse w-1/2" })]
|
|
83
|
+
}, i))
|
|
84
|
+
}) : Boolean(children) ? /* @__PURE__ */ jsx("div", {
|
|
85
|
+
className: "flex flex-col gap-1",
|
|
86
|
+
children
|
|
87
|
+
}) : emptyLabel ? /* @__PURE__ */ jsx("div", {
|
|
88
|
+
className: "text-sm text-muted-foreground py-2",
|
|
89
|
+
children: emptyLabel
|
|
90
|
+
}) : null
|
|
91
|
+
})] });
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { CardDescription as a, CardTitle as c, CardContent as i, Card as n, CardFooter as o, CardAction as r, CardHeader as s, Widget as t };
|
package/dist/widget.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { r as WidgetProps$1 } from "./index-qji4ohJZ.js";
|
|
2
|
+
//#region src/widget/widget.d.ts
|
|
3
|
+
type WidgetProps = Omit<WidgetProps$1, 'linkComponent'>;
|
|
4
|
+
declare function Widget(props: WidgetProps): import("react").JSX.Element;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Widget, type WidgetProps };
|
package/dist/widget.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { t as Widget$1 } from "./widget-C2vjxQms.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import NextLink from "next/link.js";
|
|
4
|
+
//#region src/widget/widget.tsx
|
|
5
|
+
function NextWidgetLink({ children, className, href }) {
|
|
6
|
+
return /* @__PURE__ */ jsx(NextLink, {
|
|
7
|
+
className,
|
|
8
|
+
href,
|
|
9
|
+
children
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function Widget(props) {
|
|
13
|
+
return /* @__PURE__ */ jsx(Widget$1, {
|
|
14
|
+
...props,
|
|
15
|
+
linkComponent: NextWidgetLink
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { Widget };
|
package/package.json
CHANGED
|
@@ -1,177 +1,132 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
2
|
+
"name": "@ekkolyth/ui",
|
|
3
|
+
"version": "0.1.18",
|
|
4
|
+
"description": "Shared UI Library for my personal projects",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"theme",
|
|
7
|
+
"dark-mode",
|
|
8
|
+
"react"
|
|
9
|
+
],
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"author": "ekkolyth",
|
|
12
|
+
"type": "module",
|
|
13
|
+
"main": "./dist/index.js",
|
|
14
|
+
"module": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"**/*.css"
|
|
18
|
+
],
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"README.md",
|
|
22
|
+
"LICENSE"
|
|
23
|
+
],
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./text": {
|
|
30
|
+
"types": "./dist/text.d.ts",
|
|
31
|
+
"import": "./dist/text.js"
|
|
32
|
+
},
|
|
33
|
+
"./layout": {
|
|
34
|
+
"types": "./dist/layout.d.ts",
|
|
35
|
+
"import": "./dist/layout.js"
|
|
36
|
+
},
|
|
37
|
+
"./blocks": {
|
|
38
|
+
"types": "./dist/blocks.d.ts",
|
|
39
|
+
"import": "./dist/blocks.js"
|
|
40
|
+
},
|
|
41
|
+
"./hooks": {
|
|
42
|
+
"types": "./dist/hooks.d.ts",
|
|
43
|
+
"import": "./dist/hooks.js"
|
|
44
|
+
},
|
|
45
|
+
"./widget": {
|
|
46
|
+
"types": "./dist/widget.d.ts",
|
|
47
|
+
"import": "./dist/widget.js"
|
|
48
|
+
},
|
|
49
|
+
"./convex": {
|
|
50
|
+
"types": "./dist/convex.d.ts",
|
|
51
|
+
"import": "./dist/convex.js"
|
|
52
|
+
},
|
|
53
|
+
"./themes/provider": {
|
|
54
|
+
"types": "./dist/themes/provider.d.ts",
|
|
55
|
+
"import": "./dist/themes/provider.js"
|
|
56
|
+
},
|
|
57
|
+
"./themes": {
|
|
58
|
+
"style": "./dist/themes.css",
|
|
59
|
+
"default": "./dist/themes.css"
|
|
60
|
+
},
|
|
61
|
+
"./themes/*": {
|
|
62
|
+
"style": "./dist/themes/*.css",
|
|
63
|
+
"default": "./dist/themes/*.css"
|
|
64
|
+
},
|
|
65
|
+
"./base.css": "./dist/base.css"
|
|
42
66
|
},
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
67
|
+
"dependencies": {
|
|
68
|
+
"@base-ui/react": "^1.1.0",
|
|
69
|
+
"@radix-ui/react-accordion": "^1.2.12",
|
|
70
|
+
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
71
|
+
"@radix-ui/react-aspect-ratio": "^1.1.8",
|
|
72
|
+
"@radix-ui/react-avatar": "^1.1.11",
|
|
73
|
+
"@radix-ui/react-checkbox": "^1.3.3",
|
|
74
|
+
"@radix-ui/react-collapsible": "^1.1.12",
|
|
75
|
+
"@radix-ui/react-context-menu": "^2.2.16",
|
|
76
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
77
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
78
|
+
"@radix-ui/react-hover-card": "^1.1.15",
|
|
79
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
80
|
+
"@radix-ui/react-menubar": "^1.1.16",
|
|
81
|
+
"@radix-ui/react-navigation-menu": "^1.2.14",
|
|
82
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
83
|
+
"@radix-ui/react-progress": "^1.1.8",
|
|
84
|
+
"@radix-ui/react-radio-group": "^1.3.8",
|
|
85
|
+
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
86
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
87
|
+
"@radix-ui/react-separator": "^1.1.8",
|
|
88
|
+
"@radix-ui/react-slider": "^1.3.6",
|
|
89
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
90
|
+
"@radix-ui/react-switch": "^1.2.6",
|
|
91
|
+
"@radix-ui/react-tabs": "^1.1.13",
|
|
92
|
+
"@radix-ui/react-toggle": "^1.1.10",
|
|
93
|
+
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
94
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
95
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
96
|
+
"@tanstack/react-form": "^1.28.3",
|
|
97
|
+
"@tanstack/react-pacer": "^0.20.0",
|
|
98
|
+
"@tanstack/react-table": "^8.21.3",
|
|
99
|
+
"@tiptap/core": "^3.27.1",
|
|
100
|
+
"class-variance-authority": "^0.7.1",
|
|
101
|
+
"clsx": "^2.1.1",
|
|
102
|
+
"cmdk": "^1.1.1",
|
|
103
|
+
"date-fns": "^4.1.0",
|
|
104
|
+
"embla-carousel-react": "^8.6.0",
|
|
105
|
+
"input-otp": "^1.4.2",
|
|
106
|
+
"lucide-react": "^0.562.0",
|
|
107
|
+
"react-day-picker": "^9.13.2",
|
|
108
|
+
"react-hook-form": "^7.71.1",
|
|
109
|
+
"react-resizable-panels": "^4.6.0",
|
|
110
|
+
"recharts": "2.15.4",
|
|
111
|
+
"shadcn": "^3.8.5",
|
|
112
|
+
"shiki": "^3.16.0",
|
|
113
|
+
"sonner": "^2.0.7",
|
|
114
|
+
"tailwind-merge": "^3.5.0",
|
|
115
|
+
"tw-animate-css": "^1.4.0",
|
|
116
|
+
"vaul": "^1.1.2",
|
|
117
|
+
"zod": "^4.3.6"
|
|
46
118
|
},
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
119
|
+
"peerDependencies": {
|
|
120
|
+
"react": "^19.2.0",
|
|
121
|
+
"react-dom": "^19.2.0",
|
|
122
|
+
"next": "^16.1.6"
|
|
50
123
|
},
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
124
|
+
"peerDependenciesMeta": {
|
|
125
|
+
"next": {
|
|
126
|
+
"optional": true
|
|
127
|
+
}
|
|
54
128
|
},
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
"import": "./dist/themes/theme-toggle.js"
|
|
58
|
-
},
|
|
59
|
-
"./themes/theme-select": {
|
|
60
|
-
"types": "./dist/themes/theme-select.d.ts",
|
|
61
|
-
"import": "./dist/themes/theme-select.js"
|
|
62
|
-
},
|
|
63
|
-
"./catpuccin/latte": {
|
|
64
|
-
"style": "./dist/catpuccin/latte.css",
|
|
65
|
-
"default": "./dist/catpuccin/latte.css"
|
|
66
|
-
},
|
|
67
|
-
"./catpuccin/frappe": {
|
|
68
|
-
"style": "./dist/catpuccin/frappe.css",
|
|
69
|
-
"default": "./dist/catpuccin/frappe.css"
|
|
70
|
-
},
|
|
71
|
-
"./catpuccin/macchiato": {
|
|
72
|
-
"style": "./dist/catpuccin/macchiato.css",
|
|
73
|
-
"default": "./dist/catpuccin/macchiato.css"
|
|
74
|
-
},
|
|
75
|
-
"./catpuccin/mocha": {
|
|
76
|
-
"style": "./dist/catpuccin/mocha.css",
|
|
77
|
-
"default": "./dist/catpuccin/mocha.css"
|
|
78
|
-
},
|
|
79
|
-
"./ekko-os": {
|
|
80
|
-
"style": "./dist/ekko-os.css",
|
|
81
|
-
"default": "./dist/ekko-os.css"
|
|
82
|
-
},
|
|
83
|
-
"./tokyo-night": {
|
|
84
|
-
"style": "./dist/tokyo-night.css",
|
|
85
|
-
"default": "./dist/tokyo-night.css"
|
|
86
|
-
},
|
|
87
|
-
"./ekkolyth": {
|
|
88
|
-
"style": "./dist/ekkolyth.css",
|
|
89
|
-
"default": "./dist/ekkolyth.css"
|
|
90
|
-
},
|
|
91
|
-
"./ekko-playlist": {
|
|
92
|
-
"style": "./dist/ekko-playlist.css",
|
|
93
|
-
"default": "./dist/ekko-playlist.css"
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
"dependencies": {
|
|
97
|
-
"@base-ui/react": "^1.1.0",
|
|
98
|
-
"class-variance-authority": "^0.7.1",
|
|
99
|
-
"clsx": "^2.1.1",
|
|
100
|
-
"cmdk": "^1.1.1",
|
|
101
|
-
"date-fns": "^4.1.0",
|
|
102
|
-
"embla-carousel-react": "^8.6.0",
|
|
103
|
-
"input-otp": "^1.4.2",
|
|
104
|
-
"lucide-react": "^0.562.0",
|
|
105
|
-
"next": "16.1.2",
|
|
106
|
-
"radix-ui": "^1.4.3",
|
|
107
|
-
"react-day-picker": "^9.13.0",
|
|
108
|
-
"react-resizable-panels": "^4.4.1",
|
|
109
|
-
"recharts": "2.15.4",
|
|
110
|
-
"shadcn": "^3.7.0",
|
|
111
|
-
"sonner": "^2.0.7",
|
|
112
|
-
"tailwind-merge": "^3.4.0",
|
|
113
|
-
"tw-animate-css": "^1.4.0",
|
|
114
|
-
"vaul": "^1.1.2"
|
|
115
|
-
},
|
|
116
|
-
"devDependencies": {
|
|
117
|
-
"@biomejs/biome": "^2.3.12",
|
|
118
|
-
"@chromatic-com/storybook": "^5.0.0",
|
|
119
|
-
"@storybook/addon-a11y": "^10.1.11",
|
|
120
|
-
"@storybook/addon-docs": "^10.1.11",
|
|
121
|
-
"@storybook/addon-onboarding": "^10.1.11",
|
|
122
|
-
"@storybook/addon-themes": "^10.1.11",
|
|
123
|
-
"@storybook/addon-vitest": "^10.1.11",
|
|
124
|
-
"@storybook/nextjs-vite": "^10.1.11",
|
|
125
|
-
"@tailwindcss/postcss": "^4.1.18",
|
|
126
|
-
"@tanstack/react-router": "^1.150.0",
|
|
127
|
-
"@testing-library/jest-dom": "^6.9.1",
|
|
128
|
-
"@testing-library/react": "^16.3.1",
|
|
129
|
-
"@testing-library/user-event": "^14.6.1",
|
|
130
|
-
"@types/node": "^20.19.30",
|
|
131
|
-
"@types/postcss-import": "^14.0.3",
|
|
132
|
-
"@types/react": "^19.2.8",
|
|
133
|
-
"@types/react-dom": "^19.2.3",
|
|
134
|
-
"@vitejs/plugin-react": "^5.1.2",
|
|
135
|
-
"@vitest/browser-playwright": "^4.0.17",
|
|
136
|
-
"@vitest/coverage-v8": "^4.0.17",
|
|
137
|
-
"@vueless/storybook-dark-mode": "^10.0.6",
|
|
138
|
-
"jsdom": "^27.4.0",
|
|
139
|
-
"next-themes": "^0.4.6",
|
|
140
|
-
"playwright": "^1.57.0",
|
|
141
|
-
"postcss": "^8.5.6",
|
|
142
|
-
"postcss-import": "^16.1.1",
|
|
143
|
-
"storybook": "^10.1.11",
|
|
144
|
-
"tailwindcss": "^4.1.18",
|
|
145
|
-
"tsup": "^8.5.1",
|
|
146
|
-
"typescript": "^5.9.3",
|
|
147
|
-
"vite": "^7.3.1",
|
|
148
|
-
"vite-tsconfig-paths": "^6.0.4",
|
|
149
|
-
"vitest": "^4.0.17"
|
|
150
|
-
},
|
|
151
|
-
"peerDependencies": {
|
|
152
|
-
"react": "^19.2.3",
|
|
153
|
-
"react-dom": "^19.2.3",
|
|
154
|
-
"next-themes": "^0.4.6",
|
|
155
|
-
"@tanstack/react-router": "^1.150.0"
|
|
156
|
-
},
|
|
157
|
-
"peerDependenciesMeta": {
|
|
158
|
-
"next-themes": {
|
|
159
|
-
"optional": true
|
|
160
|
-
},
|
|
161
|
-
"@tanstack/react-router": {
|
|
162
|
-
"optional": true
|
|
129
|
+
"publishConfig": {
|
|
130
|
+
"access": "public"
|
|
163
131
|
}
|
|
164
|
-
},
|
|
165
|
-
"publishConfig": {
|
|
166
|
-
"access": "public"
|
|
167
|
-
},
|
|
168
|
-
"module": "./dist/index.js",
|
|
169
|
-
"ignoreScripts": [
|
|
170
|
-
"sharp",
|
|
171
|
-
"unrs-resolver"
|
|
172
|
-
],
|
|
173
|
-
"trustedDependencies": [
|
|
174
|
-
"sharp",
|
|
175
|
-
"unrs-resolver"
|
|
176
|
-
]
|
|
177
132
|
}
|
package/dist/index-C3ceanPz.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { Select as Select$1 } from 'radix-ui';
|
|
4
|
-
|
|
5
|
-
declare function Select({ ...props }: React.ComponentProps<typeof Select$1.Root>): react_jsx_runtime.JSX.Element;
|
|
6
|
-
declare function SelectGroup({ ...props }: React.ComponentProps<typeof Select$1.Group>): react_jsx_runtime.JSX.Element;
|
|
7
|
-
declare function SelectValue({ ...props }: React.ComponentProps<typeof Select$1.Value>): react_jsx_runtime.JSX.Element;
|
|
8
|
-
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof Select$1.Trigger> & {
|
|
9
|
-
size?: "sm" | "default";
|
|
10
|
-
}): react_jsx_runtime.JSX.Element;
|
|
11
|
-
declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof Select$1.Content>): react_jsx_runtime.JSX.Element;
|
|
12
|
-
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof Select$1.Label>): react_jsx_runtime.JSX.Element;
|
|
13
|
-
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof Select$1.Item>): react_jsx_runtime.JSX.Element;
|
|
14
|
-
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof Select$1.Separator>): react_jsx_runtime.JSX.Element;
|
|
15
|
-
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof Select$1.ScrollUpButton>): react_jsx_runtime.JSX.Element;
|
|
16
|
-
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime.JSX.Element;
|
|
17
|
-
|
|
18
|
-
export { Select as S, SelectContent as a, SelectGroup as b, SelectItem as c, SelectLabel as d, SelectScrollDownButton as e, SelectScrollUpButton as f, SelectSeparator as g, SelectTrigger as h, SelectValue as i };
|