asterui 0.12.17 → 0.12.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/dist/components/Card.d.ts +14 -2
- package/dist/components/Select.d.ts +8 -0
- package/dist/index13.js +86 -68
- package/dist/index13.js.map +1 -1
- package/dist/index72.js +55 -22
- package/dist/index72.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
export interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
3
|
-
children
|
|
3
|
+
children?: React.ReactNode;
|
|
4
4
|
title?: React.ReactNode;
|
|
5
|
+
/** Content in the top-right corner of the card header */
|
|
6
|
+
extra?: React.ReactNode;
|
|
5
7
|
cover?: React.ReactNode;
|
|
6
8
|
actions?: React.ReactNode;
|
|
7
9
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -14,13 +16,23 @@ export interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 't
|
|
|
14
16
|
avatar?: React.ReactNode;
|
|
15
17
|
description?: React.ReactNode;
|
|
16
18
|
}
|
|
19
|
+
export interface CardMetaProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
20
|
+
/** Avatar or icon element */
|
|
21
|
+
avatar?: React.ReactNode;
|
|
22
|
+
/** Title content */
|
|
23
|
+
title?: React.ReactNode;
|
|
24
|
+
/** Description content */
|
|
25
|
+
description?: React.ReactNode;
|
|
26
|
+
}
|
|
17
27
|
export interface CardGridProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
18
28
|
children: React.ReactNode;
|
|
19
29
|
hoverable?: boolean;
|
|
20
30
|
}
|
|
21
31
|
declare function CardGrid({ children, hoverable, className, style, ...rest }: CardGridProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
-
declare function
|
|
32
|
+
declare function CardMeta({ avatar, title, description, className, ...rest }: CardMetaProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare function CardRoot({ children, title, extra, cover, actions, className, style, size, bordered, side, imageFull, actionsJustify, loading, hoverable, avatar, description, ...rest }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
23
34
|
export declare const Card: typeof CardRoot & {
|
|
24
35
|
Grid: typeof CardGrid;
|
|
36
|
+
Meta: typeof CardMeta;
|
|
25
37
|
};
|
|
26
38
|
export default Card;
|
|
@@ -2,8 +2,16 @@ import { default as React } from 'react';
|
|
|
2
2
|
export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
|
|
3
3
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4
4
|
color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';
|
|
5
|
+
/** Validation status */
|
|
6
|
+
status?: 'error' | 'warning';
|
|
5
7
|
ghost?: boolean;
|
|
6
8
|
bordered?: boolean;
|
|
9
|
+
/** Floating label text (uses DaisyUI floating-label) */
|
|
10
|
+
floatingLabel?: string;
|
|
11
|
+
/** Text/element before select (outside, using DaisyUI label) */
|
|
12
|
+
addonBefore?: React.ReactNode;
|
|
13
|
+
/** Text/element after select (outside, using DaisyUI label) */
|
|
14
|
+
addonAfter?: React.ReactNode;
|
|
7
15
|
className?: string;
|
|
8
16
|
children?: React.ReactNode;
|
|
9
17
|
}
|
package/dist/index13.js
CHANGED
|
@@ -1,98 +1,116 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
function
|
|
3
|
-
const
|
|
1
|
+
import { jsxs as s, jsx as e, Fragment as o } from "react/jsx-runtime";
|
|
2
|
+
function y({ children: d, hoverable: a = !1, className: l = "", style: c, ...n }) {
|
|
3
|
+
const m = [
|
|
4
4
|
"p-6 border border-base-content/10",
|
|
5
5
|
a && "cursor-pointer hover:shadow-md transition-shadow",
|
|
6
|
-
|
|
6
|
+
l
|
|
7
7
|
].filter(Boolean).join(" ");
|
|
8
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ e("div", { className: m, style: c, ...n, children: d });
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
children:
|
|
10
|
+
function C({ avatar: d, title: a, description: l, className: c = "", ...n }) {
|
|
11
|
+
return /* @__PURE__ */ s("div", { className: `flex gap-4 ${c}`, ...n, children: [
|
|
12
|
+
d && /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: d }),
|
|
13
|
+
/* @__PURE__ */ s("div", { className: "flex-1 min-w-0", children: [
|
|
14
|
+
a && /* @__PURE__ */ e("div", { className: "font-medium", children: a }),
|
|
15
|
+
l && /* @__PURE__ */ e("div", { className: "text-sm opacity-70 mt-1", children: l })
|
|
16
|
+
] })
|
|
17
|
+
] });
|
|
18
|
+
}
|
|
19
|
+
function M({
|
|
20
|
+
children: d,
|
|
12
21
|
title: a,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
extra: l,
|
|
23
|
+
cover: c,
|
|
24
|
+
actions: n,
|
|
25
|
+
className: m = "",
|
|
26
|
+
style: h,
|
|
27
|
+
size: t,
|
|
28
|
+
bordered: b = !0,
|
|
29
|
+
side: k = !1,
|
|
30
|
+
imageFull: f = !1,
|
|
31
|
+
actionsJustify: N = "end",
|
|
32
|
+
loading: g = !1,
|
|
33
|
+
hoverable: j = !1,
|
|
34
|
+
avatar: r,
|
|
25
35
|
description: i,
|
|
26
|
-
...
|
|
36
|
+
...u
|
|
27
37
|
}) {
|
|
28
|
-
const
|
|
38
|
+
const v = [
|
|
29
39
|
"card",
|
|
30
40
|
"bg-base-100",
|
|
31
|
-
|
|
41
|
+
t && {
|
|
32
42
|
xs: "card-xs",
|
|
33
43
|
sm: "card-sm",
|
|
34
44
|
md: "card-md",
|
|
35
45
|
lg: "card-lg",
|
|
36
46
|
xl: "card-xl"
|
|
37
|
-
}[
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
}[t],
|
|
48
|
+
// Don't add border when imageFull is used (it breaks the overlay effect)
|
|
49
|
+
b && !f && "border border-base-content/10 shadow-sm",
|
|
50
|
+
k && "card-side",
|
|
51
|
+
f && "image-full shadow-sm",
|
|
52
|
+
j && "transition-shadow hover:shadow-lg cursor-pointer",
|
|
53
|
+
m
|
|
54
|
+
].filter(Boolean).join(" "), w = {
|
|
44
55
|
start: "justify-start",
|
|
45
56
|
center: "justify-center",
|
|
46
57
|
end: "justify-end"
|
|
47
58
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
/* @__PURE__ */ s("div", { className: "
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
/* @__PURE__ */ s(
|
|
60
|
-
|
|
61
|
-
/* @__PURE__ */ s("div", { className: "
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
if (g)
|
|
60
|
+
return /* @__PURE__ */ s("div", { className: v, style: h, ...u, children: [
|
|
61
|
+
c && /* @__PURE__ */ e("figure", { children: /* @__PURE__ */ e("div", { className: "skeleton h-48 w-full rounded-none" }) }),
|
|
62
|
+
/* @__PURE__ */ s("div", { className: "card-body", children: [
|
|
63
|
+
(r || a) && /* @__PURE__ */ s("div", { className: "flex gap-4 mb-4", children: [
|
|
64
|
+
r && /* @__PURE__ */ e("div", { className: "skeleton w-12 h-12 rounded-full flex-shrink-0" }),
|
|
65
|
+
/* @__PURE__ */ s("div", { className: "flex-1 space-y-2", children: [
|
|
66
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-6 w-2/3" }),
|
|
67
|
+
i && /* @__PURE__ */ e("div", { className: "skeleton h-4 w-full" })
|
|
68
|
+
] })
|
|
69
|
+
] }),
|
|
70
|
+
!r && !a && /* @__PURE__ */ s(o, { children: [
|
|
71
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-6 w-2/3 mb-4" }),
|
|
72
|
+
/* @__PURE__ */ s("div", { className: "space-y-2", children: [
|
|
73
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-4 w-full" }),
|
|
74
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-4 w-5/6" }),
|
|
75
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-4 w-4/6" })
|
|
76
|
+
] })
|
|
77
|
+
] }),
|
|
78
|
+
n && /* @__PURE__ */ s("div", { className: `card-actions ${w[N]} mt-4`, children: [
|
|
79
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-10 w-20" }),
|
|
80
|
+
/* @__PURE__ */ e("div", { className: "skeleton h-10 w-20" })
|
|
64
81
|
] })
|
|
65
|
-
] }),
|
|
66
|
-
c && /* @__PURE__ */ e("div", { className: `card-actions ${u[t]} mt-4`, children: [
|
|
67
|
-
/* @__PURE__ */ s("div", { className: "skeleton h-10 w-20" }),
|
|
68
|
-
/* @__PURE__ */ s("div", { className: "skeleton h-10 w-20" })
|
|
69
82
|
] })
|
|
70
|
-
] })
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
/* @__PURE__ */ e("div", { className: "
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
] });
|
|
84
|
+
const p = r || a && i, x = () => !a && !l ? null : l ? /* @__PURE__ */ s("div", { className: "flex justify-between items-start gap-4", children: [
|
|
85
|
+
a && /* @__PURE__ */ e("h2", { className: "card-title", children: a }),
|
|
86
|
+
/* @__PURE__ */ e("div", { className: "flex-shrink-0", children: l })
|
|
87
|
+
] }) : a ? /* @__PURE__ */ e("h2", { className: "card-title", children: a }) : null;
|
|
88
|
+
return /* @__PURE__ */ s("div", { className: v, style: h, ...u, children: [
|
|
89
|
+
c && /* @__PURE__ */ e("figure", { children: c }),
|
|
90
|
+
/* @__PURE__ */ s("div", { className: "card-body", children: [
|
|
91
|
+
p ? /* @__PURE__ */ s(o, { children: [
|
|
92
|
+
/* @__PURE__ */ s("div", { className: "flex gap-4", children: [
|
|
93
|
+
r && /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: r }),
|
|
94
|
+
/* @__PURE__ */ s("div", { className: "flex-1 min-w-0", children: [
|
|
95
|
+
x(),
|
|
96
|
+
i && /* @__PURE__ */ e("p", { className: "text-sm opacity-70 mt-1", children: i })
|
|
80
97
|
] })
|
|
81
98
|
] }),
|
|
82
|
-
|
|
83
|
-
] }) : /* @__PURE__ */
|
|
84
|
-
|
|
85
|
-
|
|
99
|
+
d
|
|
100
|
+
] }) : /* @__PURE__ */ s(o, { children: [
|
|
101
|
+
x(),
|
|
102
|
+
d
|
|
86
103
|
] }),
|
|
87
|
-
|
|
104
|
+
n && /* @__PURE__ */ e("div", { className: `card-actions ${w[N]}`, children: n })
|
|
88
105
|
] })
|
|
89
106
|
] });
|
|
90
107
|
}
|
|
91
|
-
const
|
|
92
|
-
Grid:
|
|
108
|
+
const G = Object.assign(M, {
|
|
109
|
+
Grid: y,
|
|
110
|
+
Meta: C
|
|
93
111
|
});
|
|
94
112
|
export {
|
|
95
|
-
|
|
96
|
-
|
|
113
|
+
G as Card,
|
|
114
|
+
G as default
|
|
97
115
|
};
|
|
98
116
|
//# sourceMappingURL=index13.js.map
|
package/dist/index13.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index13.js","sources":["../src/components/Card.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n children
|
|
1
|
+
{"version":3,"file":"index13.js","sources":["../src/components/Card.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n children?: React.ReactNode\n title?: React.ReactNode\n /** Content in the top-right corner of the card header */\n extra?: React.ReactNode\n cover?: React.ReactNode\n actions?: React.ReactNode\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n bordered?: boolean\n side?: boolean\n imageFull?: boolean\n actionsJustify?: 'start' | 'center' | 'end'\n loading?: boolean\n hoverable?: boolean\n // Meta props for avatar + description layout\n avatar?: React.ReactNode\n description?: React.ReactNode\n}\n\nexport interface CardMetaProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n /** Avatar or icon element */\n avatar?: React.ReactNode\n /** Title content */\n title?: React.ReactNode\n /** Description content */\n description?: React.ReactNode\n}\n\nexport interface CardGridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n hoverable?: boolean\n}\n\nfunction CardGrid({ children, hoverable = false, className = '', style, ...rest }: CardGridProps) {\n const classes = [\n 'p-6 border border-base-content/10',\n hoverable && 'cursor-pointer hover:shadow-md transition-shadow',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes} style={style} {...rest}>\n {children}\n </div>\n )\n}\n\nfunction CardMeta({ avatar, title, description, className = '', ...rest }: CardMetaProps) {\n return (\n <div className={`flex gap-4 ${className}`} {...rest}>\n {avatar && <div className=\"flex-shrink-0\">{avatar}</div>}\n <div className=\"flex-1 min-w-0\">\n {title && <div className=\"font-medium\">{title}</div>}\n {description && <div className=\"text-sm opacity-70 mt-1\">{description}</div>}\n </div>\n </div>\n )\n}\n\nfunction CardRoot({\n children,\n title,\n extra,\n cover,\n actions,\n className = '',\n style,\n size,\n bordered = true,\n side = false,\n imageFull = false,\n actionsJustify = 'end',\n loading = false,\n hoverable = false,\n avatar,\n description,\n ...rest\n}: CardProps) {\n const sizeClasses: Record<string, string> = {\n xs: 'card-xs',\n sm: 'card-sm',\n md: 'card-md',\n lg: 'card-lg',\n xl: 'card-xl',\n }\n\n const classes = [\n 'card',\n 'bg-base-100',\n size && sizeClasses[size],\n // Don't add border when imageFull is used (it breaks the overlay effect)\n bordered && !imageFull && 'border border-base-content/10 shadow-sm',\n side && 'card-side',\n imageFull && 'image-full shadow-sm',\n hoverable && 'transition-shadow hover:shadow-lg cursor-pointer',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n const justifyClasses: Record<string, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n }\n\n if (loading) {\n return (\n <div className={classes} style={style} {...rest}>\n {cover && (\n <figure>\n <div className=\"skeleton h-48 w-full rounded-none\" />\n </figure>\n )}\n <div className=\"card-body\">\n {(avatar || title) && (\n <div className=\"flex gap-4 mb-4\">\n {avatar && <div className=\"skeleton w-12 h-12 rounded-full flex-shrink-0\" />}\n <div className=\"flex-1 space-y-2\">\n <div className=\"skeleton h-6 w-2/3\" />\n {description && <div className=\"skeleton h-4 w-full\" />}\n </div>\n </div>\n )}\n {!avatar && !title && (\n <>\n <div className=\"skeleton h-6 w-2/3 mb-4\" />\n <div className=\"space-y-2\">\n <div className=\"skeleton h-4 w-full\" />\n <div className=\"skeleton h-4 w-5/6\" />\n <div className=\"skeleton h-4 w-4/6\" />\n </div>\n </>\n )}\n {actions && (\n <div className={`card-actions ${justifyClasses[actionsJustify]} mt-4`}>\n <div className=\"skeleton h-10 w-20\" />\n <div className=\"skeleton h-10 w-20\" />\n </div>\n )}\n </div>\n </div>\n )\n }\n\n // Render with avatar + title + description layout (meta style)\n const hasMetaLayout = avatar || (title && description)\n\n // Header with title and extra\n const renderHeader = () => {\n if (!title && !extra) return null\n\n if (extra) {\n return (\n <div className=\"flex justify-between items-start gap-4\">\n {title && <h2 className=\"card-title\">{title}</h2>}\n <div className=\"flex-shrink-0\">{extra}</div>\n </div>\n )\n }\n\n return title ? <h2 className=\"card-title\">{title}</h2> : null\n }\n\n return (\n <div className={classes} style={style} {...rest}>\n {cover && <figure>{cover}</figure>}\n <div className=\"card-body\">\n {hasMetaLayout ? (\n <>\n <div className=\"flex gap-4\">\n {avatar && <div className=\"flex-shrink-0\">{avatar}</div>}\n <div className=\"flex-1 min-w-0\">\n {renderHeader()}\n {description && <p className=\"text-sm opacity-70 mt-1\">{description}</p>}\n </div>\n </div>\n {children}\n </>\n ) : (\n <>\n {renderHeader()}\n {children}\n </>\n )}\n {actions && <div className={`card-actions ${justifyClasses[actionsJustify]}`}>{actions}</div>}\n </div>\n </div>\n )\n}\n\nexport const Card = Object.assign(CardRoot, {\n Grid: CardGrid,\n Meta: CardMeta,\n})\n\nexport default Card\n"],"names":["CardGrid","children","hoverable","className","style","rest","classes","CardMeta","avatar","title","description","jsx","jsxs","CardRoot","extra","cover","actions","size","bordered","side","imageFull","actionsJustify","loading","justifyClasses","Fragment","hasMetaLayout","renderHeader","Card"],"mappings":"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"}
|
package/dist/index72.js
CHANGED
|
@@ -1,22 +1,29 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
const
|
|
1
|
+
import { jsx as s, jsxs as C } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as N, useRef as y } from "react";
|
|
3
|
+
const R = N(
|
|
4
4
|
({
|
|
5
5
|
size: e,
|
|
6
|
-
color:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
color: r,
|
|
7
|
+
status: o,
|
|
8
|
+
ghost: b = !1,
|
|
9
|
+
bordered: p = !0,
|
|
10
|
+
floatingLabel: a,
|
|
11
|
+
addonBefore: l,
|
|
12
|
+
addonAfter: t,
|
|
13
|
+
className: i = "",
|
|
14
|
+
children: f,
|
|
15
|
+
...m
|
|
16
|
+
}, w) => {
|
|
17
|
+
const h = y(null), u = w || h, c = {
|
|
14
18
|
xs: "select-xs",
|
|
15
19
|
sm: "select-sm",
|
|
16
20
|
md: "select-md",
|
|
17
21
|
lg: "select-lg",
|
|
18
22
|
xl: "select-xl"
|
|
19
|
-
},
|
|
23
|
+
}, d = o ? {
|
|
24
|
+
error: "select-error",
|
|
25
|
+
warning: "select-warning"
|
|
26
|
+
}[o] : r ? {
|
|
20
27
|
neutral: "select-neutral",
|
|
21
28
|
primary: "select-primary",
|
|
22
29
|
secondary: "select-secondary",
|
|
@@ -25,20 +32,46 @@ const u = d(
|
|
|
25
32
|
success: "select-success",
|
|
26
33
|
warning: "select-warning",
|
|
27
34
|
error: "select-error"
|
|
28
|
-
},
|
|
35
|
+
}[r] : "", g = l || t, j = g ? ["grow", "bg-transparent", "border-0", "outline-none", "focus:outline-none", i].filter(Boolean).join(" ") : [
|
|
29
36
|
"select",
|
|
30
37
|
"w-full",
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
e &&
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
].filter(Boolean).join(" ");
|
|
37
|
-
|
|
38
|
+
p && "select-bordered",
|
|
39
|
+
b && "select-ghost",
|
|
40
|
+
e && c[e],
|
|
41
|
+
d,
|
|
42
|
+
i
|
|
43
|
+
].filter(Boolean).join(" "), x = /* @__PURE__ */ s("select", { ref: u, className: j, ...m, children: f });
|
|
44
|
+
if (a) {
|
|
45
|
+
const n = [
|
|
46
|
+
"floating-label",
|
|
47
|
+
e && c[e]
|
|
48
|
+
].filter(Boolean).join(" ");
|
|
49
|
+
return /* @__PURE__ */ C("label", { className: n, children: [
|
|
50
|
+
/* @__PURE__ */ s("select", { ref: u, className: "select select-bordered w-full", ...m, children: f }),
|
|
51
|
+
/* @__PURE__ */ s("span", { children: a })
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
if (g) {
|
|
55
|
+
const n = [
|
|
56
|
+
"select",
|
|
57
|
+
"select-bordered",
|
|
58
|
+
"flex",
|
|
59
|
+
"items-center",
|
|
60
|
+
"gap-2",
|
|
61
|
+
e && c[e],
|
|
62
|
+
d
|
|
63
|
+
].filter(Boolean).join(" ");
|
|
64
|
+
return /* @__PURE__ */ C("label", { className: n, children: [
|
|
65
|
+
l && /* @__PURE__ */ s("span", { className: "text-base-content/70", children: l }),
|
|
66
|
+
x,
|
|
67
|
+
t && /* @__PURE__ */ s("span", { className: "text-base-content/70", children: t })
|
|
68
|
+
] });
|
|
69
|
+
}
|
|
70
|
+
return x;
|
|
38
71
|
}
|
|
39
72
|
);
|
|
40
|
-
|
|
73
|
+
R.displayName = "Select";
|
|
41
74
|
export {
|
|
42
|
-
|
|
75
|
+
R as Select
|
|
43
76
|
};
|
|
44
77
|
//# sourceMappingURL=index72.js.map
|
package/dist/index72.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index72.js","sources":["../src/components/Select.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nexport interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n ghost?: boolean\n bordered?: boolean\n className?: string\n children?: React.ReactNode\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size,\n color,\n ghost = false,\n bordered = true,\n className = '',\n children,\n ...props\n },\n ref\n ) => {\n const sizeClasses = {\n xs: 'select-xs',\n sm: 'select-sm',\n md: 'select-md',\n lg: 'select-lg',\n xl: 'select-xl',\n }\n\n const colorClasses = {\n neutral: 'select-neutral',\n primary: 'select-primary',\n secondary: 'select-secondary',\n accent: 'select-accent',\n info: 'select-info',\n success: 'select-success',\n warning: 'select-warning',\n error: 'select-error',\n }\n\n const selectClasses = [\n 'select',\n
|
|
1
|
+
{"version":3,"file":"index72.js","sources":["../src/components/Select.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react'\n\nexport interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n /** Validation status */\n status?: 'error' | 'warning'\n ghost?: boolean\n bordered?: boolean\n /** Floating label text (uses DaisyUI floating-label) */\n floatingLabel?: string\n /** Text/element before select (outside, using DaisyUI label) */\n addonBefore?: React.ReactNode\n /** Text/element after select (outside, using DaisyUI label) */\n addonAfter?: React.ReactNode\n className?: string\n children?: React.ReactNode\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size,\n color,\n status,\n ghost = false,\n bordered = true,\n floatingLabel,\n addonBefore,\n addonAfter,\n className = '',\n children,\n ...props\n },\n ref\n ) => {\n const innerRef = useRef<HTMLSelectElement>(null)\n const selectRef = (ref as React.RefObject<HTMLSelectElement>) || innerRef\n\n const sizeClasses = {\n xs: 'select-xs',\n sm: 'select-sm',\n md: 'select-md',\n lg: 'select-lg',\n xl: 'select-xl',\n }\n\n const colorClasses = {\n neutral: 'select-neutral',\n primary: 'select-primary',\n secondary: 'select-secondary',\n accent: 'select-accent',\n info: 'select-info',\n success: 'select-success',\n warning: 'select-warning',\n error: 'select-error',\n }\n\n const statusClasses = {\n error: 'select-error',\n warning: 'select-warning',\n }\n\n // Status takes precedence over color for validation feedback\n const effectiveColorClass = status ? statusClasses[status] : (color ? colorClasses[color] : '')\n\n // When wrapped with external addons, the wrapper has the styling\n const hasExternalAddons = addonBefore || addonAfter\n\n const selectClasses = hasExternalAddons\n ? ['grow', 'bg-transparent', 'border-0', 'outline-none', 'focus:outline-none', className].filter(Boolean).join(' ')\n : [\n 'select',\n 'w-full',\n bordered && 'select-bordered',\n ghost && 'select-ghost',\n size && sizeClasses[size],\n effectiveColorClass,\n className,\n ].filter(Boolean).join(' ')\n\n // Build the core select element\n const selectElement = (\n <select ref={selectRef} className={selectClasses} {...props}>\n {children}\n </select>\n )\n\n // Wrap with floating label if specified\n if (floatingLabel) {\n const floatingClasses = [\n 'floating-label',\n size && sizeClasses[size],\n ].filter(Boolean).join(' ')\n\n return (\n <label className={floatingClasses}>\n <select ref={selectRef} className=\"select select-bordered w-full\" {...props}>\n {children}\n </select>\n <span>{floatingLabel}</span>\n </label>\n )\n }\n\n // Wrap with external addons if specified\n if (hasExternalAddons) {\n const addonClasses = [\n 'select',\n 'select-bordered',\n 'flex',\n 'items-center',\n 'gap-2',\n size && sizeClasses[size],\n effectiveColorClass,\n ].filter(Boolean).join(' ')\n\n return (\n <label className={addonClasses}>\n {addonBefore && <span className=\"text-base-content/70\">{addonBefore}</span>}\n {selectElement}\n {addonAfter && <span className=\"text-base-content/70\">{addonAfter}</span>}\n </label>\n )\n }\n\n return selectElement\n }\n)\n\nSelect.displayName = 'Select'\n"],"names":["Select","forwardRef","size","color","status","ghost","bordered","floatingLabel","addonBefore","addonAfter","className","children","props","ref","innerRef","useRef","selectRef","sizeClasses","effectiveColorClass","hasExternalAddons","selectClasses","selectElement","floatingClasses","jsxs","jsx","addonClasses"],"mappings":";;AAmBO,MAAMA,IAASC;AAAA,EACpB,CACE;AAAA,IACE,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,UAAAC,IAAW;AAAA,IACX,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAWC,EAA0B,IAAI,GACzCC,IAAaH,KAA8CC,GAE3DG,IAAc;AAAA,MAClB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,GAoBAC,IAAsBd,IANN;AAAA,MACpB,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,EAIwCA,CAAM,IAAKD,IAjBzC;AAAA,MACnB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA,EAS0EA,CAAK,IAAI,IAGtFgB,IAAoBX,KAAeC,GAEnCW,IAAgBD,IAClB,CAAC,QAAQ,kBAAkB,YAAY,gBAAgB,sBAAsBT,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,IAChH;AAAA,MACE;AAAA,MACA;AAAA,MACAJ,KAAY;AAAA,MACZD,KAAS;AAAA,MACTH,KAAQe,EAAYf,CAAI;AAAA,MACxBgB;AAAA,MACAR;AAAA,IAAA,EACA,OAAO,OAAO,EAAE,KAAK,GAAG,GAGxBW,sBACH,UAAA,EAAO,KAAKL,GAAW,WAAWI,GAAgB,GAAGR,GACnD,UAAAD,EAAA,CACH;AAIF,QAAIJ,GAAe;AACjB,YAAMe,IAAkB;AAAA,QACtB;AAAA,QACApB,KAAQe,EAAYf,CAAI;AAAA,MAAA,EACxB,OAAO,OAAO,EAAE,KAAK,GAAG;AAE1B,aACE,gBAAAqB,EAAC,SAAA,EAAM,WAAWD,GAChB,UAAA;AAAA,QAAA,gBAAAE,EAAC,YAAO,KAAKR,GAAW,WAAU,iCAAiC,GAAGJ,GACnE,UAAAD,GACH;AAAA,QACA,gBAAAa,EAAC,UAAM,UAAAjB,EAAA,CAAc;AAAA,MAAA,GACvB;AAAA,IAEJ;AAGA,QAAIY,GAAmB;AACrB,YAAMM,IAAe;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAvB,KAAQe,EAAYf,CAAI;AAAA,QACxBgB;AAAA,MAAA,EACA,OAAO,OAAO,EAAE,KAAK,GAAG;AAE1B,aACE,gBAAAK,EAAC,SAAA,EAAM,WAAWE,GACf,UAAA;AAAA,QAAAjB,KAAe,gBAAAgB,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAhB,GAAY;AAAA,QACnEa;AAAA,QACAZ,KAAc,gBAAAe,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAf,EAAA,CAAW;AAAA,MAAA,GACpE;AAAA,IAEJ;AAEA,WAAOY;AAAA,EACT;AACF;AAEArB,EAAO,cAAc;"}
|