asheeui 0.6.10 → 0.6.13
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/dist/components/accordion/Accordion.js +7 -7
- package/dist/components/autocomplete/Autocomplete.d.ts +5 -5
- package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/autocomplete/Autocomplete.js +42 -41
- package/dist/components/carousel/Carousel.js +43 -43
- package/dist/components/chip/Chip.js +8 -8
- package/dist/components/date-picker/Calendar.d.ts +6 -1
- package/dist/components/date-picker/Calendar.d.ts.map +1 -1
- package/dist/components/date-picker/Calendar.js +30 -30
- package/dist/components/date-picker/DatePicker.d.ts +7 -6
- package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.js +166 -155
- package/dist/components/date-picker/date-picker-config.d.ts +12 -1
- package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
- package/dist/components/marquee/Marquee.js +22 -22
- package/dist/components/multi-select/MultiSelect.d.ts +5 -5
- package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
- package/dist/components/multi-select/MultiSelect.js +45 -44
- package/dist/components/select/Select.d.ts +5 -5
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +117 -114
- package/dist/components/select-menu/SelectMenu.d.ts +20 -11
- package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
- package/dist/components/select-menu/SelectMenu.js +146 -109
- package/dist/components/select-menu/select-menu-config.d.ts +8 -4
- package/dist/components/select-menu/select-menu-config.d.ts.map +1 -1
- package/dist/components/select-menu/select-menu-config.js +1 -1
- package/dist/components/select-menu/use-select-floating.d.ts +46 -17
- package/dist/components/select-menu/use-select-floating.d.ts.map +1 -1
- package/dist/components/select-menu/use-select-floating.js +36 -22
- package/dist/components/toast/ToastItem.js +30 -30
- package/dist/components/toast/ToastProvider.d.ts +5 -5
- package/dist/components/toast/ToastProvider.d.ts.map +1 -1
- package/dist/components/toast/ToastProvider.js +66 -66
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/theme/controller.d.ts.map +1 -1
- package/dist/theme/controller.js +14 -16
- package/package.json +3 -20
|
@@ -12,7 +12,7 @@ import { FALLBACK_TOAST_CONFIG as n } from "./toast-config.js";
|
|
|
12
12
|
import { TOAST_WIDTH_CLASS as V, TOAST_PADDING_CLASS as q, TOAST_FONT_CLASS as J, TOAST_TITLE_FONT_CLASS as Q, TOAST_ANIMATION_STATE as X } from "./toast-styles.js";
|
|
13
13
|
import { usePausableTimeout as Y } from "./use-pausable-timeout.js";
|
|
14
14
|
import { RADIUS_CLASS as Z } from "../../shared/radius.js";
|
|
15
|
-
import { cn as
|
|
15
|
+
import { cn as t } from "../../utils/cn.js";
|
|
16
16
|
import { resolveVariantClass as $ } from "../../shared/variant.js";
|
|
17
17
|
function ee(r = "info") {
|
|
18
18
|
switch (r) {
|
|
@@ -28,47 +28,47 @@ function ee(r = "info") {
|
|
|
28
28
|
return "secondary";
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
function re(r = "info",
|
|
32
|
-
const o =
|
|
31
|
+
function re(r = "info", s = !1) {
|
|
32
|
+
const o = t("w-5 h-5", s && "text-current");
|
|
33
33
|
switch (r) {
|
|
34
34
|
case "success":
|
|
35
|
-
return /* @__PURE__ */ e(P, { className:
|
|
35
|
+
return /* @__PURE__ */ e(P, { className: t(o, !s && "text-success") });
|
|
36
36
|
case "error":
|
|
37
|
-
return /* @__PURE__ */ e(z, { className:
|
|
37
|
+
return /* @__PURE__ */ e(z, { className: t(o, !s && "text-danger") });
|
|
38
38
|
case "warning":
|
|
39
|
-
return /* @__PURE__ */ e(H, { className:
|
|
39
|
+
return /* @__PURE__ */ e(H, { className: t(o, !s && "text-warning") });
|
|
40
40
|
default:
|
|
41
|
-
return /* @__PURE__ */ e(B, { className:
|
|
41
|
+
return /* @__PURE__ */ e(B, { className: t(o, !s && "text-primary") });
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
function
|
|
44
|
+
function se({
|
|
45
45
|
id: r,
|
|
46
|
-
title:
|
|
46
|
+
title: s,
|
|
47
47
|
message: o,
|
|
48
48
|
type: u = "info",
|
|
49
49
|
timeout: v = 3500,
|
|
50
50
|
icon: A,
|
|
51
|
-
action:
|
|
51
|
+
action: d,
|
|
52
52
|
dismissible: N = !0,
|
|
53
53
|
onDismiss: c,
|
|
54
54
|
placement: x,
|
|
55
55
|
size: i,
|
|
56
|
-
variant:
|
|
57
|
-
color:
|
|
58
|
-
radius:
|
|
59
|
-
animated:
|
|
56
|
+
variant: f,
|
|
57
|
+
color: b,
|
|
58
|
+
radius: I,
|
|
59
|
+
animated: p
|
|
60
60
|
}) {
|
|
61
61
|
var h;
|
|
62
|
-
const l = (h = R().components) == null ? void 0 : h.toast, [m,
|
|
63
|
-
|
|
62
|
+
const l = (h = R().components) == null ? void 0 : h.toast, [m, S] = G(!1), g = U(
|
|
63
|
+
p,
|
|
64
64
|
l == null ? void 0 : l.animated,
|
|
65
65
|
void 0,
|
|
66
66
|
n.animated
|
|
67
67
|
), w = K(() => {
|
|
68
|
-
g && !m ? (
|
|
68
|
+
g && !m ? (S(!0), setTimeout(() => {
|
|
69
69
|
c(r);
|
|
70
70
|
}, 150)) : c(r);
|
|
71
|
-
}, [g, m, c, r]), { pause: _, resume: k } = Y(w, v), O =
|
|
71
|
+
}, [g, m, c, r]), { pause: _, resume: k } = Y(w, v), O = b ?? ee(u), y = f === "solid", L = a(
|
|
72
72
|
i,
|
|
73
73
|
V,
|
|
74
74
|
n.size
|
|
@@ -85,48 +85,48 @@ function te({
|
|
|
85
85
|
Q,
|
|
86
86
|
n.size
|
|
87
87
|
), M = a(
|
|
88
|
-
|
|
88
|
+
I,
|
|
89
89
|
Z,
|
|
90
90
|
n.radius
|
|
91
|
-
), T = X[x], j =
|
|
91
|
+
), T = X[x], j = p ? m ? T.exit : T.enter : "";
|
|
92
92
|
return /* @__PURE__ */ C(
|
|
93
93
|
"div",
|
|
94
94
|
{
|
|
95
95
|
onMouseEnter: _,
|
|
96
96
|
onMouseLeave: k,
|
|
97
|
-
className:
|
|
98
|
-
"pointer-events-auto relative flex gap-3 items-start shadow-lg border backdrop-blur-md select-none overflow-
|
|
97
|
+
className: t(
|
|
98
|
+
"pointer-events-auto relative flex gap-3 items-start shadow-lg border backdrop-blur-md select-none scrollbar-hide overflow-hidden transition-all duration-200 active:scale-[0.99]",
|
|
99
99
|
"bg-background",
|
|
100
100
|
L,
|
|
101
101
|
E,
|
|
102
102
|
M,
|
|
103
103
|
j,
|
|
104
|
-
$(
|
|
104
|
+
$(f, O)
|
|
105
105
|
),
|
|
106
106
|
children: [
|
|
107
107
|
/* @__PURE__ */ e("div", { className: "shrink-0 pt-0.5 ps-1", children: A ?? re(u, y) }),
|
|
108
108
|
/* @__PURE__ */ C("div", { className: "flex-1 min-w-0 flex flex-col gap-0.5", children: [
|
|
109
|
-
|
|
109
|
+
s && /* @__PURE__ */ e(
|
|
110
110
|
"span",
|
|
111
111
|
{
|
|
112
|
-
className:
|
|
112
|
+
className: t(
|
|
113
113
|
"leading-tight truncate text-current",
|
|
114
114
|
D
|
|
115
115
|
),
|
|
116
|
-
children:
|
|
116
|
+
children: s
|
|
117
117
|
}
|
|
118
118
|
),
|
|
119
119
|
/* @__PURE__ */ e(
|
|
120
120
|
"div",
|
|
121
121
|
{
|
|
122
|
-
className:
|
|
122
|
+
className: t(
|
|
123
123
|
"leading-snug wrap-break-word opacity-90 text-current",
|
|
124
124
|
F
|
|
125
125
|
),
|
|
126
126
|
children: o
|
|
127
127
|
}
|
|
128
128
|
),
|
|
129
|
-
|
|
129
|
+
d && /* @__PURE__ */ e("div", { className: "mt-2 flex items-center gap-2", children: d })
|
|
130
130
|
] }),
|
|
131
131
|
N && /* @__PURE__ */ e(
|
|
132
132
|
"button",
|
|
@@ -142,7 +142,7 @@ function te({
|
|
|
142
142
|
}
|
|
143
143
|
);
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
se.displayName = "ToastItem";
|
|
146
146
|
export {
|
|
147
|
-
|
|
147
|
+
se as ToastItem
|
|
148
148
|
};
|
|
@@ -29,11 +29,11 @@ export interface ToastProviderProps extends ToastConfig {
|
|
|
29
29
|
* own size, placement, variant, radius, and animation settings via the
|
|
30
30
|
* toast options.
|
|
31
31
|
*
|
|
32
|
-
* The provider uses
|
|
33
|
-
* body level by default. This ensures toasts escape CSS containment,
|
|
34
|
-
* stacking context, and overflow issues. Portaling can be disabled via
|
|
35
|
-
*
|
|
36
|
-
*
|
|
32
|
+
* The provider uses Floating UI's FloatingPortal to render toasts at the
|
|
33
|
+
* document body level by default. This ensures toasts escape CSS containment,
|
|
34
|
+
* stacking context, and overflow issues. Portaling can be disabled via the
|
|
35
|
+
* `portal` config option if the toasts need to stay within a specific parent
|
|
36
|
+
* container.
|
|
37
37
|
*
|
|
38
38
|
* @param props - ToastProvider configuration options.
|
|
39
39
|
* @param props.children - Child components.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../src/components/toast/ToastProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../src/components/toast/ToastProvider.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAkC,MAAM,OAAO,CAAC;AAOvE,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,gBAAgB,CAAC;AAKxB;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,GACV,EAAE,kBAAkB,+BA+QpB"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { jsx as p, Fragment as g, jsxs as C } from "react/jsx-runtime";
|
|
3
|
+
import { FloatingPortal as ee } from "@floating-ui/react";
|
|
4
|
+
import { useState as ae, useCallback as o, useMemo as U } from "react";
|
|
5
5
|
import { useAsheeConfig as te } from "../../libs/context.js";
|
|
6
6
|
import { resolveCascade as l, resolveRadiusKey as re } from "../../utils/resolve-token.js";
|
|
7
|
-
import { ToastContext as
|
|
8
|
-
import { ToastItem as
|
|
9
|
-
import { FALLBACK_TOAST_CONFIG as
|
|
7
|
+
import { ToastContext as de } from "./ToastContext.js";
|
|
8
|
+
import { ToastItem as se } from "./ToastItem.js";
|
|
9
|
+
import { FALLBACK_TOAST_CONFIG as s } from "./toast-config.js";
|
|
10
10
|
import { PLACEMENT_CLASSES as oe } from "./toast-styles.js";
|
|
11
11
|
import { cn as le } from "../../utils/cn.js";
|
|
12
12
|
function ze({
|
|
13
|
-
children:
|
|
13
|
+
children: E,
|
|
14
14
|
size: K,
|
|
15
15
|
placement: M,
|
|
16
16
|
variant: O,
|
|
@@ -23,54 +23,54 @@ function ze({
|
|
|
23
23
|
className: I
|
|
24
24
|
}) {
|
|
25
25
|
var R;
|
|
26
|
-
const [f, y] =
|
|
26
|
+
const [f, y] = ae([]), T = te(), a = (R = T.components) == null ? void 0 : R.toast, c = l(
|
|
27
27
|
K,
|
|
28
28
|
a == null ? void 0 : a.size,
|
|
29
29
|
void 0,
|
|
30
|
-
|
|
30
|
+
s.size
|
|
31
31
|
), n = l(
|
|
32
32
|
M,
|
|
33
33
|
a == null ? void 0 : a.placement,
|
|
34
34
|
void 0,
|
|
35
|
-
|
|
36
|
-
),
|
|
35
|
+
s.placement
|
|
36
|
+
), i = l(
|
|
37
37
|
O,
|
|
38
38
|
a == null ? void 0 : a.variant,
|
|
39
39
|
T.defaultVariant,
|
|
40
|
-
|
|
41
|
-
),
|
|
40
|
+
s.variant
|
|
41
|
+
), m = re(
|
|
42
42
|
_,
|
|
43
43
|
a == null ? void 0 : a.radius,
|
|
44
44
|
T.defaultRadius,
|
|
45
|
-
|
|
46
|
-
),
|
|
45
|
+
s.radius
|
|
46
|
+
), w = l(
|
|
47
47
|
k,
|
|
48
48
|
a == null ? void 0 : a.maxToasts,
|
|
49
49
|
void 0,
|
|
50
|
-
|
|
50
|
+
s.maxToasts
|
|
51
51
|
), z = l(
|
|
52
52
|
B,
|
|
53
53
|
a == null ? void 0 : a.defaultTimeout,
|
|
54
54
|
void 0,
|
|
55
|
-
|
|
55
|
+
s.defaultTimeout
|
|
56
56
|
), u = l(
|
|
57
57
|
G,
|
|
58
58
|
a == null ? void 0 : a.animated,
|
|
59
59
|
void 0,
|
|
60
|
-
|
|
60
|
+
s.animated
|
|
61
61
|
), J = l(
|
|
62
62
|
q,
|
|
63
63
|
a == null ? void 0 : a.portal,
|
|
64
64
|
void 0,
|
|
65
|
-
|
|
66
|
-
),
|
|
65
|
+
s.portal
|
|
66
|
+
), x = H ?? (typeof document < "u" ? document.body : null), b = o((e) => {
|
|
67
67
|
y((t) => t.filter((r) => r.id !== e));
|
|
68
|
-
}, []),
|
|
68
|
+
}, []), h = o(() => {
|
|
69
69
|
y([]);
|
|
70
|
-
}, []),
|
|
70
|
+
}, []), d = o(
|
|
71
71
|
(e) => {
|
|
72
|
-
var
|
|
73
|
-
const t = typeof e == "object" && e.id ? e.id : typeof window < "u" && ((
|
|
72
|
+
var N;
|
|
73
|
+
const t = typeof e == "object" && e.id ? e.id : typeof window < "u" && ((N = window.crypto) != null && N.randomUUID) ? window.crypto.randomUUID() : String(Date.now()), r = typeof e == "object" && e.placement ? e.placement : n, v = typeof e == "object" && e.size ? e.size : c, V = typeof e == "object" && e.variant ? e.variant : i, F = typeof e == "object" && e.radius ? e.radius : m, L = typeof e == "object" && e.animated !== void 0 ? e.animated : u, X = typeof e == "string" ? {
|
|
74
74
|
id: t,
|
|
75
75
|
message: e,
|
|
76
76
|
timeout: z,
|
|
@@ -78,8 +78,8 @@ function ze({
|
|
|
78
78
|
placement: r,
|
|
79
79
|
size: v,
|
|
80
80
|
variant: V,
|
|
81
|
-
radius:
|
|
82
|
-
animated:
|
|
81
|
+
radius: F,
|
|
82
|
+
animated: L
|
|
83
83
|
} : {
|
|
84
84
|
...e,
|
|
85
85
|
id: t,
|
|
@@ -88,93 +88,93 @@ function ze({
|
|
|
88
88
|
placement: e.placement ?? r,
|
|
89
89
|
size: e.size ?? v,
|
|
90
90
|
variant: e.variant ?? V,
|
|
91
|
-
radius: e.radius ??
|
|
92
|
-
animated: e.animated !== void 0 ? e.animated :
|
|
91
|
+
radius: e.radius ?? F,
|
|
92
|
+
animated: e.animated !== void 0 ? e.animated : L
|
|
93
93
|
};
|
|
94
94
|
return y((Y) => {
|
|
95
95
|
const Z = Y.filter(($) => $.id !== t);
|
|
96
|
-
return [X, ...Z].slice(0,
|
|
96
|
+
return [X, ...Z].slice(0, w);
|
|
97
97
|
}), t;
|
|
98
98
|
},
|
|
99
99
|
[
|
|
100
100
|
z,
|
|
101
|
-
|
|
101
|
+
w,
|
|
102
102
|
n,
|
|
103
103
|
c,
|
|
104
|
-
m,
|
|
105
104
|
i,
|
|
105
|
+
m,
|
|
106
106
|
u
|
|
107
107
|
]
|
|
108
|
+
), j = o(
|
|
109
|
+
(e, t) => d({ ...t, message: e, type: "success" }),
|
|
110
|
+
[d]
|
|
108
111
|
), A = o(
|
|
109
|
-
(e, t) =>
|
|
110
|
-
[
|
|
112
|
+
(e, t) => d({ ...t, message: e, type: "error" }),
|
|
113
|
+
[d]
|
|
111
114
|
), P = o(
|
|
112
|
-
(e, t) =>
|
|
113
|
-
[
|
|
115
|
+
(e, t) => d({ ...t, message: e, type: "info" }),
|
|
116
|
+
[d]
|
|
114
117
|
), S = o(
|
|
115
|
-
(e, t) =>
|
|
116
|
-
[
|
|
117
|
-
),
|
|
118
|
-
(e, t) => s({ ...t, message: e, type: "warning" }),
|
|
119
|
-
[s]
|
|
120
|
-
), Q = E(
|
|
118
|
+
(e, t) => d({ ...t, message: e, type: "warning" }),
|
|
119
|
+
[d]
|
|
120
|
+
), Q = U(
|
|
121
121
|
() => ({
|
|
122
122
|
toasts: f,
|
|
123
|
-
toast:
|
|
124
|
-
success:
|
|
125
|
-
error:
|
|
126
|
-
info:
|
|
127
|
-
warning:
|
|
128
|
-
removeToast:
|
|
129
|
-
clearToasts:
|
|
130
|
-
portalTarget:
|
|
123
|
+
toast: d,
|
|
124
|
+
success: j,
|
|
125
|
+
error: A,
|
|
126
|
+
info: P,
|
|
127
|
+
warning: S,
|
|
128
|
+
removeToast: b,
|
|
129
|
+
clearToasts: h,
|
|
130
|
+
portalTarget: x,
|
|
131
131
|
defaultPlacement: n,
|
|
132
132
|
defaultSize: c,
|
|
133
|
-
defaultVariant:
|
|
134
|
-
defaultRadius:
|
|
133
|
+
defaultVariant: i,
|
|
134
|
+
defaultRadius: m,
|
|
135
135
|
defaultAnimated: u
|
|
136
136
|
}),
|
|
137
137
|
[
|
|
138
138
|
f,
|
|
139
|
-
|
|
139
|
+
d,
|
|
140
|
+
j,
|
|
140
141
|
A,
|
|
141
142
|
P,
|
|
142
143
|
S,
|
|
144
|
+
b,
|
|
143
145
|
h,
|
|
144
146
|
x,
|
|
145
|
-
j,
|
|
146
|
-
p,
|
|
147
147
|
n,
|
|
148
148
|
c,
|
|
149
|
-
m,
|
|
150
149
|
i,
|
|
150
|
+
m,
|
|
151
151
|
u
|
|
152
152
|
]
|
|
153
|
-
), W =
|
|
153
|
+
), W = U(() => {
|
|
154
154
|
const e = {};
|
|
155
155
|
for (const t of f) {
|
|
156
156
|
const r = t.placement ?? n, v = e[r] ?? [];
|
|
157
157
|
e[r] = v, v.push(t);
|
|
158
158
|
}
|
|
159
159
|
return e;
|
|
160
|
-
}, [f, n]), D = /* @__PURE__ */
|
|
160
|
+
}, [f, n]), D = /* @__PURE__ */ p(g, { children: Object.entries(W).map(([e, t]) => /* @__PURE__ */ p(
|
|
161
161
|
"section",
|
|
162
162
|
{
|
|
163
163
|
"aria-label": "Notifications",
|
|
164
164
|
className: le(
|
|
165
|
-
"fixed z-99999 flex flex-col gap-3 pointer-events-none p-4 max-h-screen overflow-
|
|
165
|
+
"fixed z-99999 flex flex-col gap-3 pointer-events-none p-4 max-h-screen scrollbar-hide overflow-hidden",
|
|
166
166
|
oe[e],
|
|
167
167
|
I
|
|
168
168
|
),
|
|
169
|
-
children: t.map((r) => /* @__PURE__ */
|
|
170
|
-
|
|
169
|
+
children: t.map((r) => /* @__PURE__ */ p(
|
|
170
|
+
se,
|
|
171
171
|
{
|
|
172
172
|
...r,
|
|
173
|
-
onDismiss:
|
|
173
|
+
onDismiss: b,
|
|
174
174
|
placement: e,
|
|
175
175
|
size: r.size ?? c,
|
|
176
|
-
variant: r.variant ??
|
|
177
|
-
radius: r.radius ??
|
|
176
|
+
variant: r.variant ?? i,
|
|
177
|
+
radius: r.radius ?? m,
|
|
178
178
|
animated: r.animated ?? u
|
|
179
179
|
},
|
|
180
180
|
r.id
|
|
@@ -182,9 +182,9 @@ function ze({
|
|
|
182
182
|
},
|
|
183
183
|
e
|
|
184
184
|
)) });
|
|
185
|
-
return /* @__PURE__ */ C(
|
|
186
|
-
|
|
187
|
-
J
|
|
185
|
+
return /* @__PURE__ */ C(de.Provider, { value: Q, children: [
|
|
186
|
+
E,
|
|
187
|
+
J ? /* @__PURE__ */ p(ee, { root: x, children: D }) : D
|
|
188
188
|
] });
|
|
189
189
|
}
|
|
190
190
|
export {
|
package/dist/index.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export * from './components/tabs';
|
|
|
45
45
|
export * from './components/textarea';
|
|
46
46
|
export * from './components/toast';
|
|
47
47
|
export * from './components/tooltip';
|
|
48
|
+
export type { ExternalConfig } from './config';
|
|
48
49
|
/**
|
|
49
50
|
* Shared type exports.
|
|
50
51
|
* These types are used across multiple components for consistency.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C;;;GAGG;AACH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC7D;;;GAGG;AACH,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,MAAM,eAAe,CAAC;AACvB;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/theme/controller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAa/C;;GAEG;AACH,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,YAAY,EAAE,cAAc,CAAC;IAE7B;;;;OAIG;IACH,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,cAAM,eAAe;IACnB;;;OAGG;IACH,OAAO,CAAC,SAAS,CAA2B;IAE5C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAsB;IAEtC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAyB;IAEhD;;OAEG;IACH,OAAO,CAAC,SAAS,CAAuB;IAExC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAA+B;;IASjD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/theme/controller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAa/C;;GAEG;AACH,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,YAAY,EAAE,cAAc,CAAC;IAE7B;;;;OAIG;IACH,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,cAAM,eAAe;IACnB;;;OAGG;IACH,OAAO,CAAC,SAAS,CAA2B;IAE5C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAsB;IAEtC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAA2B;IAE/C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAyB;IAEhD;;OAEG;IACH,OAAO,CAAC,SAAS,CAAuB;IAExC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAA+B;;IASjD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,IAAI;IAkC3D;;;;;;OAMG;IACH,UAAU,UAAW,cAAc,KAAG,IAAI,CAExC;IAEF;;;OAGG;IACH,YAAY,QAAO,cAAc,CAAmB;IAEpD;;;;;OAKG;IACH,gBAAgB,QAAO,SAAS,CAAkB;IAElD;;;;OAIG;IACH,QAAQ,cAAe,cAAc,KAAG,IAAI,CAS1C;IAEF;;;;;OAKG;IACH,SAAS,aAAc,QAAQ,KAAG,CAAC,MAAM,IAAI,CAAC,CAG5C;IAEF;;;OAGG;IACH,kBAAkB,QAAO,SAAS,MAAM,EAAE,CAAyB;IAEnE;;;;;OAKG;IACH,WAAW,QAAO,IAAI,CAWpB;IAEF;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAMxB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAOf;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAKf;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CA+BvB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
package/dist/theme/controller.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
var r = Object.defineProperty;
|
|
3
|
-
var
|
|
4
|
-
var s = (n, e, t) =>
|
|
5
|
-
const
|
|
3
|
+
var d = (n, e, t) => e in n ? r(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
|
|
4
|
+
var s = (n, e, t) => d(n, typeof e != "symbol" ? e + "" : e, t);
|
|
5
|
+
const o = "ashee-theme", c = "(prefers-color-scheme: dark)", h = "theme-";
|
|
6
6
|
class m {
|
|
7
7
|
constructor() {
|
|
8
8
|
/**
|
|
@@ -63,7 +63,7 @@ class m {
|
|
|
63
63
|
*/
|
|
64
64
|
s(this, "setTheme", (e) => {
|
|
65
65
|
const t = this.sanitize(e);
|
|
66
|
-
this.selection = t, typeof window < "u" && window.localStorage.setItem(
|
|
66
|
+
this.selection = t, typeof window < "u" && window.localStorage.setItem(o, t), this.applySelection(), this.listeners.forEach((i) => {
|
|
67
67
|
i();
|
|
68
68
|
});
|
|
69
69
|
});
|
|
@@ -101,7 +101,7 @@ class m {
|
|
|
101
101
|
e();
|
|
102
102
|
}));
|
|
103
103
|
});
|
|
104
|
-
typeof window > "u" || (this.mediaQuery = window.matchMedia(
|
|
104
|
+
typeof window > "u" || (this.mediaQuery = window.matchMedia(c), this.mediaQuery.addEventListener("change", this.handleSystemChange));
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* Seeds the controller with the resolved theme config and applies the theme.
|
|
@@ -112,20 +112,18 @@ class m {
|
|
|
112
112
|
* - Never writes to storage (only `setTheme` persists user intent).
|
|
113
113
|
*/
|
|
114
114
|
configure({ defaultTheme: e, themes: t }) {
|
|
115
|
-
if (
|
|
115
|
+
if (this.defaultTheme = e, this.availableThemes = t, typeof window > "u") {
|
|
116
116
|
console.log(
|
|
117
117
|
"[Theme] Running in non-browser environment, skipping localStorage operations."
|
|
118
118
|
);
|
|
119
119
|
return;
|
|
120
120
|
}
|
|
121
|
-
const i = window.localStorage.getItem(
|
|
122
|
-
console.log(
|
|
123
|
-
const l = i !== null && this.isValid(i);
|
|
124
|
-
console.log("[Theme] Is stored theme valid?", l), l || i !== null && (console.log(
|
|
121
|
+
const i = window.localStorage.getItem(o), l = i !== null && this.isValid(i);
|
|
122
|
+
l || i !== null && (console.log(
|
|
125
123
|
"[Theme] Invalid stored theme, removing from localStorage."
|
|
126
|
-
), window.localStorage.removeItem(
|
|
127
|
-
|
|
128
|
-
})
|
|
124
|
+
), window.localStorage.removeItem(o)), this.selection = l ? i : e, this.applySelection(), this.listeners.forEach((a) => {
|
|
125
|
+
a();
|
|
126
|
+
});
|
|
129
127
|
}
|
|
130
128
|
/**
|
|
131
129
|
* Validates a theme selection and returns a valid fallback if necessary.
|
|
@@ -169,13 +167,13 @@ class m {
|
|
|
169
167
|
let t = this.resolve(e);
|
|
170
168
|
if (this.availableThemes.length > 0 && !this.availableThemes.includes(t) && (t = this.availableThemes.includes(this.defaultTheme) ? this.defaultTheme : this.availableThemes[0]), this.resolved = t, typeof document > "u") return;
|
|
171
169
|
const i = document.documentElement, l = `${h}${t}`;
|
|
172
|
-
for (const
|
|
173
|
-
|
|
170
|
+
for (const a of Array.from(i.classList))
|
|
171
|
+
a.startsWith(h) && i.classList.remove(a);
|
|
174
172
|
i.classList.add(l);
|
|
175
173
|
}
|
|
176
174
|
}
|
|
177
175
|
const f = new m();
|
|
178
176
|
export {
|
|
179
|
-
|
|
177
|
+
o as THEME_STORAGE_KEY,
|
|
180
178
|
f as themeController
|
|
181
179
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "asheeui",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -15,16 +15,6 @@
|
|
|
15
15
|
"style": "./dist/index.css",
|
|
16
16
|
"default": "./dist/index.css"
|
|
17
17
|
},
|
|
18
|
-
"./config": {
|
|
19
|
-
"types": "./dist/config/index.d.ts",
|
|
20
|
-
"import": "./dist/index.js",
|
|
21
|
-
"default": "./dist/index.js"
|
|
22
|
-
},
|
|
23
|
-
"./libs": {
|
|
24
|
-
"types": "./dist/libs/index.d.ts",
|
|
25
|
-
"import": "./dist/index.js",
|
|
26
|
-
"default": "./dist/index.js"
|
|
27
|
-
},
|
|
28
18
|
"./styles.css": "./dist/index.css"
|
|
29
19
|
},
|
|
30
20
|
"publishConfig": {
|
|
@@ -48,28 +38,21 @@
|
|
|
48
38
|
},
|
|
49
39
|
"devDependencies": {
|
|
50
40
|
"@floating-ui/react": "^0.27.20",
|
|
51
|
-
"@testing-library/jest-dom": "^6.6.3",
|
|
52
|
-
"@testing-library/react": "^16.1.0",
|
|
53
|
-
"@testing-library/user-event": "^14.5.2",
|
|
54
41
|
"@types/node": "^26.1.2",
|
|
55
42
|
"@types/react": "^19.0.0",
|
|
56
43
|
"@types/react-dom": "^19.0.0",
|
|
57
44
|
"@vitejs/plugin-react": "^4.0.0",
|
|
58
|
-
"happy-dom": "^15.11.7",
|
|
59
45
|
"react": "^19.0.0",
|
|
60
46
|
"react-dom": "^19.0.0",
|
|
61
|
-
"ts-node": "^10.9.2",
|
|
62
47
|
"tsx": "^4.23.12",
|
|
63
48
|
"typescript": "^5.0.0",
|
|
64
49
|
"vite": "^6.0.0",
|
|
65
|
-
"vite-plugin-dts": "^4.0.0"
|
|
66
|
-
"vitest": "^3.2.7"
|
|
50
|
+
"vite-plugin-dts": "^4.0.0"
|
|
67
51
|
},
|
|
68
52
|
"module": "./dist/index.js",
|
|
69
53
|
"license": "MIT",
|
|
70
54
|
"scripts": {
|
|
71
55
|
"build:registry": "tsx src/scripts/build-registry.ts",
|
|
72
|
-
"build": "vite build"
|
|
73
|
-
"test": "vitest run"
|
|
56
|
+
"build": "vite build"
|
|
74
57
|
}
|
|
75
58
|
}
|