asterui 0.12.11 → 0.12.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/Anchor.d.ts +10 -0
- package/dist/components/Breadcrumb.d.ts +20 -3
- package/dist/components/ContextMenu.d.ts +39 -3
- package/dist/components/Menu.d.ts +30 -5
- package/dist/components/Steps.d.ts +42 -6
- package/dist/index.d.ts +3 -3
- package/dist/index19.js +161 -63
- package/dist/index19.js.map +1 -1
- package/dist/index3.js +81 -65
- package/dist/index3.js.map +1 -1
- package/dist/index51.js +110 -104
- package/dist/index51.js.map +1 -1
- package/dist/index78.js +91 -19
- package/dist/index78.js.map +1 -1
- package/dist/index8.js +32 -8
- package/dist/index8.js.map +1 -1
- package/package.json +1 -1
package/dist/index78.js
CHANGED
|
@@ -1,25 +1,97 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { jsx as i, jsxs as b } from "react/jsx-runtime";
|
|
2
|
+
import y from "react";
|
|
3
|
+
const j = {
|
|
4
|
+
neutral: "step-neutral",
|
|
5
|
+
primary: "step-primary",
|
|
6
|
+
secondary: "step-secondary",
|
|
7
|
+
accent: "step-accent",
|
|
8
|
+
info: "step-info",
|
|
9
|
+
success: "step-success",
|
|
10
|
+
warning: "step-warning",
|
|
11
|
+
error: "step-error"
|
|
12
|
+
};
|
|
13
|
+
function N({
|
|
14
|
+
children: a,
|
|
15
|
+
items: l,
|
|
16
|
+
current: e,
|
|
17
|
+
direction: p,
|
|
18
|
+
vertical: d = !1,
|
|
19
|
+
onChange: t,
|
|
20
|
+
className: c = "",
|
|
21
|
+
...f
|
|
22
|
+
}) {
|
|
23
|
+
const n = ["steps", (p === "vertical" || d) && "steps-vertical", c].filter(Boolean).join(" ");
|
|
24
|
+
if (l && l.length > 0)
|
|
25
|
+
return /* @__PURE__ */ i("ul", { className: n, ...f, children: l.map((s, o) => {
|
|
26
|
+
const C = e !== void 0 && o < e, r = e !== void 0 && o === e, v = s.color || (C || r ? "primary" : void 0);
|
|
27
|
+
return /* @__PURE__ */ i(
|
|
28
|
+
k,
|
|
29
|
+
{
|
|
30
|
+
color: v,
|
|
31
|
+
icon: s.icon,
|
|
32
|
+
title: s.title,
|
|
33
|
+
description: s.description,
|
|
34
|
+
disabled: s.disabled,
|
|
35
|
+
_index: o,
|
|
36
|
+
_clickable: !!t && !s.disabled,
|
|
37
|
+
_onClick: t,
|
|
38
|
+
"aria-current": r ? "step" : void 0
|
|
39
|
+
},
|
|
40
|
+
s.key ?? o
|
|
41
|
+
);
|
|
42
|
+
}) });
|
|
43
|
+
const u = e !== void 0 ? y.Children.map(a, (s, o) => {
|
|
44
|
+
if (y.isValidElement(s)) {
|
|
45
|
+
const C = o < e, r = o === e, v = s.props.color || (C || r ? "primary" : void 0);
|
|
46
|
+
return y.cloneElement(s, {
|
|
47
|
+
color: v,
|
|
48
|
+
_index: o,
|
|
49
|
+
_clickable: !!t && !s.props.disabled,
|
|
50
|
+
_onClick: t,
|
|
51
|
+
"aria-current": r ? "step" : void 0
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return s;
|
|
55
|
+
}) : a;
|
|
56
|
+
return /* @__PURE__ */ i("ul", { className: n, ...f, children: u });
|
|
5
57
|
}
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
58
|
+
function k({
|
|
59
|
+
children: a,
|
|
60
|
+
title: l,
|
|
61
|
+
description: e,
|
|
62
|
+
icon: p,
|
|
63
|
+
color: d,
|
|
64
|
+
dataContent: t,
|
|
65
|
+
disabled: c = !1,
|
|
66
|
+
className: f = "",
|
|
67
|
+
_index: m,
|
|
68
|
+
_clickable: n,
|
|
69
|
+
_onClick: u,
|
|
70
|
+
...s
|
|
71
|
+
}) {
|
|
72
|
+
const o = ["step", d && j[d], c && "step-disabled", f].filter(Boolean).join(" ");
|
|
73
|
+
return /* @__PURE__ */ b(
|
|
74
|
+
"li",
|
|
75
|
+
{
|
|
76
|
+
className: o,
|
|
77
|
+
"data-content": t,
|
|
78
|
+
onClick: () => {
|
|
79
|
+
n && u && m !== void 0 && !c && u(m);
|
|
80
|
+
},
|
|
81
|
+
style: n && !c ? { cursor: "pointer" } : void 0,
|
|
82
|
+
...s,
|
|
83
|
+
children: [
|
|
84
|
+
p && /* @__PURE__ */ i("span", { className: "step-icon", children: p }),
|
|
85
|
+
l ?? a,
|
|
86
|
+
e && /* @__PURE__ */ i("span", { className: "text-xs opacity-70 block", children: e })
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
);
|
|
18
90
|
}
|
|
19
|
-
const
|
|
20
|
-
Step:
|
|
91
|
+
const V = Object.assign(N, {
|
|
92
|
+
Step: k
|
|
21
93
|
});
|
|
22
94
|
export {
|
|
23
|
-
|
|
95
|
+
V as Steps
|
|
24
96
|
};
|
|
25
97
|
//# sourceMappingURL=index78.js.map
|
package/dist/index78.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index78.js","sources":["../src/components/Steps.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface StepsProps extends React.HTMLAttributes<HTMLUListElement> {\n children
|
|
1
|
+
{"version":3,"file":"index78.js","sources":["../src/components/Steps.tsx"],"sourcesContent":["import React from 'react'\n\nexport type StepsDirection = 'horizontal' | 'vertical'\n\nexport interface StepItem {\n key?: string\n title: React.ReactNode\n description?: React.ReactNode\n icon?: React.ReactNode\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n disabled?: boolean\n}\n\nexport interface StepsProps extends Omit<React.HTMLAttributes<HTMLUListElement>, 'onChange'> {\n /** Step items (compound pattern) */\n children?: React.ReactNode\n /** Step items (data-driven pattern) */\n items?: StepItem[]\n /** Current step index (0-based) */\n current?: number\n /** Layout direction */\n direction?: StepsDirection\n /** @deprecated Use direction=\"vertical\" instead */\n vertical?: boolean\n /** Callback when step is clicked */\n onChange?: (current: number) => void\n}\n\nexport interface StepProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'color' | 'title'> {\n /** Step title/label */\n children?: React.ReactNode\n /** Step title (alternative to children) */\n title?: React.ReactNode\n /** Step description */\n description?: React.ReactNode\n /** Step icon */\n icon?: React.ReactNode\n /** Step color */\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n /** Custom content for step indicator */\n dataContent?: string\n /** Whether step is disabled */\n disabled?: boolean\n /** Internal: step index */\n _index?: number\n /** Internal: whether step is clickable */\n _clickable?: boolean\n /** Internal: click handler */\n _onClick?: (index: number) => void\n}\n\nconst colorClasses: Record<string, string> = {\n neutral: 'step-neutral',\n primary: 'step-primary',\n secondary: 'step-secondary',\n accent: 'step-accent',\n info: 'step-info',\n success: 'step-success',\n warning: 'step-warning',\n error: 'step-error',\n}\n\nfunction StepsRoot({\n children,\n items,\n current,\n direction,\n vertical = false,\n onChange,\n className = '',\n ...rest\n}: StepsProps) {\n const isVertical = direction === 'vertical' || vertical\n\n const classes = ['steps', isVertical && 'steps-vertical', className]\n .filter(Boolean)\n .join(' ')\n\n // Render data-driven items if provided\n if (items && items.length > 0) {\n return (\n <ul className={classes} {...rest}>\n {items.map((item, index) => {\n const isCompleted = current !== undefined && index < current\n const isCurrent = current !== undefined && index === current\n const stepColor = item.color || ((isCompleted || isCurrent) ? 'primary' : undefined)\n\n return (\n <Step\n key={item.key ?? index}\n color={stepColor}\n icon={item.icon}\n title={item.title}\n description={item.description}\n disabled={item.disabled}\n _index={index}\n _clickable={!!onChange && !item.disabled}\n _onClick={onChange}\n aria-current={isCurrent ? 'step' : undefined}\n />\n )\n })}\n </ul>\n )\n }\n\n // For compound pattern, inject props into children if current is provided\n const processedChildren =\n current !== undefined\n ? React.Children.map(children, (child, index) => {\n if (React.isValidElement<StepProps>(child)) {\n const isCompleted = index < current\n const isCurrent = index === current\n const childColor = child.props.color || ((isCompleted || isCurrent) ? 'primary' : undefined)\n\n return React.cloneElement(child, {\n color: childColor,\n _index: index,\n _clickable: !!onChange && !child.props.disabled,\n _onClick: onChange,\n 'aria-current': isCurrent ? 'step' : undefined,\n } as Partial<StepProps>)\n }\n return child\n })\n : children\n\n return (\n <ul className={classes} {...rest}>\n {processedChildren}\n </ul>\n )\n}\n\nfunction Step({\n children,\n title,\n description,\n icon,\n color,\n dataContent,\n disabled = false,\n className = '',\n _index,\n _clickable,\n _onClick,\n ...rest\n}: StepProps) {\n const classes = ['step', color && colorClasses[color], disabled && 'step-disabled', className]\n .filter(Boolean)\n .join(' ')\n\n const handleClick = () => {\n if (_clickable && _onClick && _index !== undefined && !disabled) {\n _onClick(_index)\n }\n }\n\n const displayContent = title ?? children\n\n return (\n <li\n className={classes}\n data-content={dataContent}\n onClick={handleClick}\n style={_clickable && !disabled ? { cursor: 'pointer' } : undefined}\n {...rest}\n >\n {icon && <span className=\"step-icon\">{icon}</span>}\n {displayContent}\n {description && <span className=\"text-xs opacity-70 block\">{description}</span>}\n </li>\n )\n}\n\nexport const Steps = Object.assign(StepsRoot, {\n Step,\n})\n"],"names":["colorClasses","StepsRoot","children","items","current","direction","vertical","onChange","className","rest","classes","jsx","item","index","isCompleted","isCurrent","stepColor","Step","processedChildren","React","child","childColor","title","description","icon","color","dataContent","disabled","_index","_clickable","_onClick","jsxs","Steps"],"mappings":"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"}
|
package/dist/index8.js
CHANGED
|
@@ -1,14 +1,38 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { jsx as n, jsxs as f } from "react/jsx-runtime";
|
|
2
|
+
import u from "react";
|
|
3
|
+
function x({ children: c, items: r, separator: t, className: o = "", ...i }) {
|
|
4
|
+
const s = t !== void 0, a = typeof t == "string" ? "px-2" : "px-1", m = () => !r || r.length === 0 ? null : r.map((e, l) => {
|
|
5
|
+
const d = l === r.length - 1;
|
|
6
|
+
return /* @__PURE__ */ f(u.Fragment, { children: [
|
|
7
|
+
/* @__PURE__ */ n("li", { className: e.className, children: e.href || e.onClick ? /* @__PURE__ */ n("a", { href: e.href, onClick: e.onClick, children: e.title }) : e.title }),
|
|
8
|
+
s && !d && /* @__PURE__ */ n("li", { className: `flex items-center ${a} text-base-content/50`, children: t })
|
|
9
|
+
] }, l);
|
|
10
|
+
}), b = () => {
|
|
11
|
+
if (r && r.length > 0)
|
|
12
|
+
return m();
|
|
13
|
+
if (s && c) {
|
|
14
|
+
const e = u.Children.toArray(c), l = [];
|
|
15
|
+
return e.forEach((d, h) => {
|
|
16
|
+
l.push(d), h < e.length - 1 && l.push(
|
|
17
|
+
/* @__PURE__ */ n("li", { className: `flex items-center ${a} text-base-content/50`, children: t }, `sep-${h}`)
|
|
18
|
+
);
|
|
19
|
+
}), l;
|
|
20
|
+
}
|
|
21
|
+
return c;
|
|
22
|
+
}, p = s ? `breadcrumbs text-sm [&_li::before]:!hidden ${o}` : `breadcrumbs text-sm ${o}`;
|
|
23
|
+
return /* @__PURE__ */ n("div", { className: p, ...i, children: /* @__PURE__ */ n("ul", { children: b() }) });
|
|
4
24
|
}
|
|
5
|
-
function
|
|
6
|
-
|
|
25
|
+
function g({ children: c, href: r, onClick: t, icon: o, className: i = "", ...s }) {
|
|
26
|
+
const a = o ? /* @__PURE__ */ f("span", { className: "inline-flex items-center gap-2", children: [
|
|
27
|
+
o,
|
|
28
|
+
c
|
|
29
|
+
] }) : c;
|
|
30
|
+
return r || t ? /* @__PURE__ */ n("li", { className: i, ...s, children: /* @__PURE__ */ n("a", { href: r, onClick: t, children: a }) }) : /* @__PURE__ */ n("li", { className: i, ...s, children: a });
|
|
7
31
|
}
|
|
8
|
-
const
|
|
9
|
-
Item:
|
|
32
|
+
const N = Object.assign(x, {
|
|
33
|
+
Item: g
|
|
10
34
|
});
|
|
11
35
|
export {
|
|
12
|
-
|
|
36
|
+
N as Breadcrumb
|
|
13
37
|
};
|
|
14
38
|
//# sourceMappingURL=index8.js.map
|
package/dist/index8.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index8.js","sources":["../src/components/Breadcrumb.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface BreadcrumbProps extends React.HTMLAttributes<HTMLDivElement> {\n children
|
|
1
|
+
{"version":3,"file":"index8.js","sources":["../src/components/Breadcrumb.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface BreadcrumbItemType {\n /** Item title/label */\n title: React.ReactNode\n /** Link URL */\n href?: string\n /** Click handler */\n onClick?: () => void\n /** Custom class name */\n className?: string\n}\n\nexport interface BreadcrumbProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Breadcrumb.Item children (compound pattern) */\n children?: React.ReactNode\n /** Breadcrumb items data (data-driven pattern) */\n items?: BreadcrumbItemType[]\n /** Custom separator between items */\n separator?: React.ReactNode\n}\n\nexport interface BreadcrumbItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'onClick'> {\n children: React.ReactNode\n href?: string\n onClick?: () => void\n /** Icon to display before the label */\n icon?: React.ReactNode\n}\n\nfunction BreadcrumbRoot({ children, items, separator, className = '', ...rest }: BreadcrumbProps) {\n const hasCustomSeparator = separator !== undefined\n // Text separators need more padding than icon separators\n const separatorPadding = typeof separator === 'string' ? 'px-2' : 'px-1'\n\n const renderFromItems = () => {\n if (!items || items.length === 0) return null\n\n return items.map((item, index) => {\n const isLast = index === items.length - 1\n return (\n <React.Fragment key={index}>\n <li className={item.className}>\n {item.href || item.onClick ? (\n <a href={item.href} onClick={item.onClick}>\n {item.title}\n </a>\n ) : (\n item.title\n )}\n </li>\n {hasCustomSeparator && !isLast && (\n <li className={`flex items-center ${separatorPadding} text-base-content/50`}>\n {separator}\n </li>\n )}\n </React.Fragment>\n )\n })\n }\n\n const renderChildren = () => {\n if (items && items.length > 0) {\n return renderFromItems()\n }\n\n if (hasCustomSeparator && children) {\n // Insert custom separator nodes between children\n const childArray = React.Children.toArray(children)\n const result: React.ReactNode[] = []\n childArray.forEach((child, index) => {\n result.push(child)\n if (index < childArray.length - 1) {\n result.push(\n <li key={`sep-${index}`} className={`flex items-center ${separatorPadding} text-base-content/50`}>\n {separator}\n </li>\n )\n }\n })\n return result\n }\n\n return children\n }\n\n // When custom separator is provided, hide default DaisyUI separator\n const cssClass = hasCustomSeparator\n ? `breadcrumbs text-sm [&_li::before]:!hidden ${className}`\n : `breadcrumbs text-sm ${className}`\n\n return (\n <div className={cssClass} {...rest}>\n <ul>{renderChildren()}</ul>\n </div>\n )\n}\n\nfunction BreadcrumbItem({ children, href, onClick, icon, className = '', ...rest }: BreadcrumbItemProps) {\n const content = icon ? (\n <span className=\"inline-flex items-center gap-2\">\n {icon}\n {children}\n </span>\n ) : children\n\n if (href || onClick) {\n return (\n <li className={className} {...rest}>\n <a href={href} onClick={onClick}>\n {content}\n </a>\n </li>\n )\n }\n\n return <li className={className} {...rest}>{content}</li>\n}\n\nexport const Breadcrumb = Object.assign(BreadcrumbRoot, {\n Item: BreadcrumbItem,\n})\n"],"names":["BreadcrumbRoot","children","items","separator","className","rest","hasCustomSeparator","separatorPadding","renderFromItems","item","index","isLast","jsxs","React","jsx","renderChildren","childArray","result","child","cssClass","BreadcrumbItem","href","onClick","icon","content","Breadcrumb"],"mappings":";;AA8BA,SAASA,EAAe,EAAE,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,WAAAC,IAAY,IAAI,GAAGC,KAAyB;AAChG,QAAMC,IAAqBH,MAAc,QAEnCI,IAAmB,OAAOJ,KAAc,WAAW,SAAS,QAE5DK,IAAkB,MAClB,CAACN,KAASA,EAAM,WAAW,IAAU,OAElCA,EAAM,IAAI,CAACO,GAAMC,MAAU;AAChC,UAAMC,IAASD,MAAUR,EAAM,SAAS;AACxC,WACE,gBAAAU,EAACC,EAAM,UAAN,EACC,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAWL,EAAK,WACjB,YAAK,QAAQA,EAAK,UACjB,gBAAAK,EAAC,KAAA,EAAE,MAAML,EAAK,MAAM,SAASA,EAAK,SAC/B,YAAK,MAAA,CACR,IAEAA,EAAK,MAAA,CAET;AAAA,MACCH,KAAsB,CAACK,KACtB,gBAAAG,EAAC,QAAG,WAAW,qBAAqBP,CAAgB,yBACjD,UAAAJ,EAAA,CACH;AAAA,IAAA,EAAA,GAbiBO,CAerB;AAAA,EAEJ,CAAC,GAGGK,IAAiB,MAAM;AAC3B,QAAIb,KAASA,EAAM,SAAS;AAC1B,aAAOM,EAAA;AAGT,QAAIF,KAAsBL,GAAU;AAElC,YAAMe,IAAaH,EAAM,SAAS,QAAQZ,CAAQ,GAC5CgB,IAA4B,CAAA;AAClC,aAAAD,EAAW,QAAQ,CAACE,GAAOR,MAAU;AACnC,QAAAO,EAAO,KAAKC,CAAK,GACbR,IAAQM,EAAW,SAAS,KAC9BC,EAAO;AAAA,UACL,gBAAAH,EAAC,QAAwB,WAAW,qBAAqBP,CAAgB,yBACtE,UAAAJ,EAAA,GADM,OAAOO,CAAK,EAErB;AAAA,QAAA;AAAA,MAGN,CAAC,GACMO;AAAA,IACT;AAEA,WAAOhB;AAAA,EACT,GAGMkB,IAAWb,IACb,8CAA8CF,CAAS,KACvD,uBAAuBA,CAAS;AAEpC,SACE,gBAAAU,EAAC,OAAA,EAAI,WAAWK,GAAW,GAAGd,GAC5B,UAAA,gBAAAS,EAAC,MAAA,EAAI,UAAAC,EAAA,EAAe,CAAE,EAAA,CACxB;AAEJ;AAEA,SAASK,EAAe,EAAE,UAAAnB,GAAU,MAAAoB,GAAM,SAAAC,GAAS,MAAAC,GAAM,WAAAnB,IAAY,IAAI,GAAGC,KAA6B;AACvG,QAAMmB,IAAUD,IACd,gBAAAX,EAAC,QAAA,EAAK,WAAU,kCACb,UAAA;AAAA,IAAAW;AAAA,IACAtB;AAAA,EAAA,EAAA,CACH,IACEA;AAEJ,SAAIoB,KAAQC,IAER,gBAAAR,EAAC,MAAA,EAAG,WAAAV,GAAuB,GAAGC,GAC5B,4BAAC,KAAA,EAAE,MAAAgB,GAAY,SAAAC,GACZ,UAAAE,EAAA,CACH,EAAA,CACF,IAIG,gBAAAV,EAAC,MAAA,EAAG,WAAAV,GAAuB,GAAGC,GAAO,UAAAmB,GAAQ;AACtD;AAEO,MAAMC,IAAa,OAAO,OAAOzB,GAAgB;AAAA,EACtD,MAAMoB;AACR,CAAC;"}
|